• الإعلانات

    • فيصل الحربي

      تسجيل عضوية جديدة في المنتدى   01/31/2016

      السلام عليكم ورحمة الله وبركاته  عزيزي العضو الجديد :  حاليا رسالة الإيميل لتأكيد صحة إيميلكم تذهب للبريد العشوائي ( جاري حل المشكلة )  فإذا لم تجد رسالة التحقق من إيميلكم في صندوق الوارد لديكم إتجه للبريد العشوائي ( JUNK)  وقم بتفعيل إشتراككم من هناك   

ABC123

اعضاء جدد
  • عدد المشاركات

    36
  • تاريخ الانضمام

  • تاريخ اخر زياره

السمعه بالموقع

0 عادي

عن ABC123

  • الرتبة
    عضو جديد
  1. جزاك الله خير الجزاء على الرد حاولت في هذة الطريقة قبل وضع السؤال لكن ما زبطت معايا لكن بعد ردك رجعت أجرب ثاني مرة وأكتشفت الخطأ الذي وقعت فية كان يجب عند الأستيراد أن أكتب أسم الكلاس المطلوب بعد أسم المشروع الرابع عموماً جزاك الله خير الجزاء وجعلة في ميزان حسناتك
  2. السلام عليكم ورحمة الله وبركاتة إنشأت حل جديد وأضفت إلية ثلاثة مشاريع (Project1 - Project2 - Project3) المطلوب : أريد أن أكتب دوال ومتغيرات تستطيع المشاريع الثلاثة رؤيتها وذلك تجنباً لتكرارها في كل مشروع جزى الله هذا القائمين على هذا المنتدى الرائع وكل من يساهم في مساعدة الآخرين كل خير
  3. جزاك الله خير الجزاء أخي KARIMSOFT على الرد   تجاوزت المشكلة الموجودة عندي في الكود بالإعتماد على @@ROWCOUNT   لكني سأتحقق من الكود ومن الرابط وسوف اوافيك بالنتيجة إن شاء الله
  4. جزالك الله خير الجزاء على المعلومات القيمه
  5. السلام عليكم ورحمة الله وبركاته   سؤال هام جدا لذوي الخبرة والإختصاص في لغة البرمجة T-SQL   باختصار شديد انا عندي إجراء مخزن يحتوي على الجملة الآتية : DECLARE @N1 INT SET @N1 = (SELECT COUNT(*) FROM SEARCH1) إريد أن أمرر متغير وليكن اسمة @TBL1 إلى الإجراء المخزن لأستطيع تنفيذ الآتي :SET @N1 = (SELECT COUNT(*) FROM @TBL1) إذا لم يكن هناك نوع بيانات يقبل أن يكون متغيرا لجدول فما هي الطريقة البديلة ؟!!!!!!!!!!!!!!!!! مع العلم أني جربت الآتي :   SET @CMD1 = 'SELECT COUNT(*) FROM ' + @TBL1   SET @N1 = EXEC (@CMD1) ولكن الطريقة خاطئة ؟؟؟؟؟؟؟؟؟؟؟؟؟!!!!!!!!!!!!!!!!!!!!!!!! 
  6. السلام وعليكم ورحمة الله وبركاتة   أشكر مشرفنا الغالي على الأهتمام والرد     سوف أقوم بتجربة الحل الموجود في خطوة رقم 1 وخطوة رقم 2 وسوف أوافيك بالنتائج   اما بالنسبة للسيد جوجل فقد كان أول الأشخاص الذين أستعنا بهم لحل المشكلة ... وأنت تعرف بالطبع الكرم الحاتمي الذي يتمتع بة السيد جوجل   فقد أمطرنا بملايين الحلول التي سببت لي صداع مزمن .... نسأل المولى عز وجل العافية والسلامة   أما بالنسبة لأخذ نسخة أحتياطية فقد فات الأوان على ذلك !!!   جزاك الله عنا كل خير ....... أخوك أبو عبدالقادر
  7. بسم الله الرحمن الرحيم والصلاة والسلام على رسول الله صلى الله عليه وسلم تسليما كثيرا ... بعد التحية الطيبة   لدي قاعدة بيانات قمت بعمل sys.sp_detach_db ثم قمت بحذف ملف LDF  ثم نفذت الأمر CREATE DATABASE [GULF] ON ( FILENAME = 'D:\GULF\gulf_Dat.MDF' ) FOR ATTACH_REBUILD_LOGفظهرت لي هذة الرسالة File activation failure. The physical file name "C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\DB2011_Log.LDF" may be incorrect. The log cannot be rebuilt because there were open transactions/users when the database was shutdown, no checkpoint occurred to the database, or the database was read-only. This error could occur if the transaction log file was manually deleted or lost due to a hardware or environment failure. الحقيقة لا أدري أين الخطأ مع أني نفذت نفس الخطوات السابقة على قاعده أخرى وتمت العملية بنجاح !!!! 
  8. جزاك الله خير الجزاء  فعلاً أتضح أن بعض الصفوف في الجدول تحتوي على قيم سالبة كبيرة   لم تخطر ببالي القيم السالبة حيث أن هذا الحقل يشير إلى متوسط التكلفة وبالطبع لا توجد تكلفة بالسالب إحتواء الصفوف على قيم سالبة كانت نتيجة أخطاء عملية محاسبية   الحمدلله  ..... إذا عرف السبب بطل العجب   أسأل المولى عزوجل في هذ اليوم المبارك أن يبارك لك في علمك ومالك وولدك وأن يغفر لك ولوالديك ولكل من لة حق عليك  وأن يفغر لنا وللمسلمين جميعا   آمين يا رب العالمين   اللهم صلي وسلم وبارك على سيدنا محمد وعلى آلة وصحبة أجمعين
  9. السلام وعليكم ورحمة الله وبركاتة   أعتذر أخي حسام على عدم الرد لأني لم أرى ردك الأخير لإنشغالي خلال الفترة السابقة   كما أشكرك جزيل الشكر لإهتمامك ... وأرجو من المولى عزوجل أن يجعلة في ميزان حسناتك   في المشاركة السابقة أخطأت في تحديد نوع البيانات للجدولين حيث أنة الحقل POSAVE في الجدول CARDPAR نوعة NUMERIC(38,6) الحقل POSAVE في الجدول PRICE نوعة NUMERIC(16,4)     وحتى تكون الصورة واضحة فأن الأمور التي جربتها هي  UPDATE PRICE SET POSAVE = ROUND(CARDPAR.POSAVE * EQUAL,4) FROM CARDPAR WHERE PRICE.NO_M = CARDPAR.NO_MUPDATE PRICE SET POSAVE = CAST(CARDPAR.POSAVE * EQUAL AS NUMERIC(16,4)) FROM CARDPAR WHERE PRICE.NO_M = CARDPAR.NO_MUPDATE PRICE SET POSAVE = CONVERT(NUMERIC(16,4),CARDPAR.POSAVE * EQUAL) FROM CARDPAR WHERE PRICE.NO_M = CARDPAR.NO_M  ولكن للأسف بائت جميع المحاولات بالفشل  قلت في نفسي لعل السبب يرجع إلى عملية الضرب في الحقل EQUAL فنفذت جميع الأوامر السابقة بدون عملية الضرب ولكن ....... نفس النتيجة !!!!!!!!!!!!!!   خطرت في بالي فكرة (غير عملية) وهي أن أغير القيم الموجودة في الجدول CARDPAR UPDATE CARDPAR SET POSAVE = ROUND(CARDPAR.POSAVE,4) -- TO CHANGE 4 DIGIT  طبعا بعد تنفيذ الأمر السابق لا يزال نوع  البيانات NUMERIC(38,6) ولكن أصبح العدد العشري يحتوي على أربع ارقام والباقي أصفار ومن المعلوم في علم الحساب أن الأصفار يسار العدد الصحيح ليس لها قيمة والأصفار يمين العدد العشري ليس لها قيمة وللتأكد من الأمر قمت بتنفيذ الأمر SELECT MAX(POSAVE) FROM CARDPAR ------------------->    630571.375500   ثم بعد ذلك نفذت الأوامر التي بالأعلى على الجدول PRICE ولكن للأسف نفس النتيجة   **************************************************************   بالنسبة لعمل سكريبت للجدولين فلن أستطيع وذلك لأن البيانات الموجودة فيها ملك لمؤسسة فعدم رفع البيانات يرجع لمسألة الأمانة فقط ولكن عمدت إلى حل بديل وهو  IF EXISTS(SELECT NAME FROM SYSOBJECTS WHERE name='CARDPAR9' AND type = 'U') DROP TABLE CARDPAR9 CREATE TABLE CARDPAR9 (NO_M NVARCHAR(30),POSAVE NUMERIC(38,6))IF EXISTS(SELECT NAME FROM SYSOBJECTS WHERE name='PRICE9' AND type = 'U') DROP TABLE PRICE9 CREATE TABLE PRICE9 (NO_M NVARCHAR(30),POSAVE NUMERIC(16,4),EQUAL NUMERIC(16,4))INSERT INTO CARDPAR9(NO_M,POSAVE) VALUES ('001',123456.123456)INSERT INTO CARDPAR9(NO_M,POSAVE) VALUES ('002',1234567.1234567)INSERT INTO CARDPAR9(NO_M,POSAVE) VALUES ('003',12345678.12345678)INSERT INTO PRICE9(NO_M,POSAVE,EQUAL) VALUES ('001',333333.3333,1)INSERT INTO PRICE9(NO_M,POSAVE,EQUAL) VALUES ('002',333333.3333,2)INSERT INTO PRICE9(NO_M,POSAVE,EQUAL) VALUES ('003',333333.3333,3)UPDATE PRICE9 SET POSAVE = CARDPAR9.POSAVE * EQUAL FROM CARDPAR9 WHERE PRICE9.NO_M = CARDPAR9.NO_MUPDATE PRICE9 SET POSAVE = ROUND(CARDPAR9.POSAVE * EQUAL,4) FROM CARDPAR9 WHERE PRICE9.NO_M = CARDPAR9.NO_MUPDATE PRICE9 SET POSAVE = CAST(CARDPAR9.POSAVE * EQUAL AS NUMERIC(16,4)) FROM CARDPAR9 WHERE PRICE9.NO_M = CARDPAR9.NO_MUPDATE PRICE9 SET POSAVE = CONVERT(NUMERIC(16,4),CARDPAR9.POSAVE * EQUAL) FROM CARDPAR9 WHERE PRICE9.NO_M = CARDPAR9.NO_MSELECT * FROM CARDPAR9SELECT * FROM PRICE9GOUSE master    العجيب في الأمر أن الأوامر نفذت بدون أية أخطاء  مع أن السطر الأول في عملية النقل  UPDATE PRICE9 SET POSAVE = CARDPAR9.POSAVE * EQUAL FROM CARDPAR9 WHERE PRICE9.NO_M = CARDPAR9.NO_M   إي أني لم أستخدم أي عملية تحويل للبيانات   فأين الخلل ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  
  10. الأخ حـســام جزاك الله خيرا على سرعة الرد   بالنسبة لتخزين القيمة فلا مشكلة فيها أطلاقاً ... فقد قمت بتنفيذ الأمر   UPDATE PRICE SET POSAVE = 630571.375520 WHERE NO_M = '551'   وتم تنفيذة بدون أي مشاكل   بالنسبة للنصيحة الثانية فقد أستخدمت ROUND و CAST   قبل أن أكتب المشكلة في المنتدى   ولكن ............... بدون أي فائدة   لا أدري أشعر ان الأمر غريب حقاً    ومرة أخرى لك جزيل الشكر على إهتمامك
  11. السادة أعضاء المنتدى الكرام   السلام عليكم ورحمة الله وبركاتة   عندي قاعدة بيانات SQL SERVER تحتوي على عدة جداول منها الجدولين : CARDPAR  و  PRICE   وعند تنفيذ هذا الأمر  UPDATE PRICE SET POSAVE = CARDPAR.POSAVE FROM CARDPAR WHERE PRICE.NO_M = CARDPAR.NO_M  يظهر الخطأ التالي :     Arithmetic overflow error converting numeric to data type numeric.The statement has been terminated. مع العلم إني عندم شكيت بوجود قيم خيالية في أحد الصفوف نفذت الأمرSELECT MAX(POSAVE) AS MAX1 FROM CARDPAR  وكانت النتيجة : 630571.375520   للمعلومية الحقلين في الجدولين من النوع :  numeric(16,4) - NULL   الرجاء من عندة معلومة عن سبب هذ الخطأ إفادتنا ... ولكم جزيل الشكر والأمتنان   
  12. BACKUP DATABASE FILE

    جزاك الله خير الجزاء أخي MS_SQL الله يغفر لك ولوالديك ولكل من له حق عليك وآسف على عدم الرد مباشرة لأن لي فترة لم أدخل الموقع
  13. السلام وعليكم ورحمة الله وبركاتة... حياكم الله جميعا في هذا اليوم المبارك ّإذا كان لدي ملف نسخة أحتياطية من قاعدة بيانات وأردت معرفة أسم القاعدة قبل عملية الأسترداد ... فهل توجد طريقة في SQL SERVER لمعرفة ذلك ؟!!!!! للتوضيح أكثر أنا أستخدم هذا الأمر لأستعادة قاعدة البيانات من نسخة أحتياطية : RESTORE DATABASE MYDB1 FROM DISK = 'D:\VB6\20-06-2012.BAK' فإذا أفترضنا أن لدي عشر قواعد بيانات على خادم SQL SERVER فأنا أريد معرفة أسم القاعدة لأضعها مكان الأسم MYDB1 حتى لا أنسخ قاعدة فوق قاعدة أخرى !!! طبعا أنا أعرف الأمر : RESTORE FILELISTONLY FROM DISK = 'D:\VB6\20-06-2012.BAK' ولكن هذا الأمر لا يعيد لي أسم قاعدة البيانات بل يعيد أسماء ملفات قاعدة البيانات وأماكنها على القرص الصلب بالطبع يمكن أستخراج أسم قاعدة البيانات من أسماء الملفات إذا كان أسم قاعدة البيانات جزء من أسم الملف ولكن على أفتراض أن اسم قاعدة البيانات غير مضمن في اسم الملف أثناء إنشاء القاعدة !!! الرجاء من عنده المعلومة أن يسعفنا بها وجزاكم الله خير الجزاء