تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[كود] سلام شباب محتاج مساعدة إذا أمكن
#1
سلام شباب كيفكن في عندي سورس كود برنامج محاسبة تقريبا كامل حاولت انو حولو للغة السي شارب ولكن في ايرور بيطلعلي بس افتح الفاتورة و الايرور عبارة عن فونكشن معمول بالسيكوال سيرفر عن تفقيت الأرقام الى احرف




        public DataTable show_bill1(int id_, string PARENT_)
        {
            CON = new CLS_CON();
            DT = new DataTable();
            DT.Clear();
            //                                    0                   1                       2                  3                         4               5             6                 7                  8                      9                10                    11               12                  13                            14                      15                    16             17                   18                           19                           20                            21                        22                          23                        24                   25                  26                                 27                      28          29                      30
            DT = CON.SELECT_TXT("SELECT  dbo.BILL1.GUID, dbo.BILL1.PARENT_GUID, dbo.BILL1.NUMBER, dbo.BILL1.DELETE_NUM, dbo.BILL1.CUST, dbo.BILL1.Date_Delete, dbo.BILL1.NOTE, dbo.BILL1.STORE_GUID, dbo.STORE.NAME AS Expr2, dbo.BILL1.DATE,     dbo.BILL1.disc, dbo.BILL1.type_pay, dbo.BILL1.GUID_CURRENCY, dbo.CURRENCY.NAME AS Expr3, dbo.BILL1.CURRENCY_VAL, dbo.BILL1.EXTEA, dbo.BILL1.type_dis, dbo.BILL1.disc_rate, dbo.BILL1.CUSTOMER_NAME,  dbo.BILL1.CUSTOMER_MOBILE1, dbo.BILL1.CUSTOMER_MOBILE2, dbo.BILL1.CUSTOMER_COMPANY, dbo.BILL1.CUSTOMER_STREET, dbo.BILL1.CUSTOMER_PHON, dbo.BILL1.CUSTOMER_EMAIL, dbo.BILL1.PAY_1_PAY,  dbo.BILL1.PAY_1_GUID, dbo.BILL1.TRAN_POS_GUID, dbo.BILL1.TRAN_POS_PAY, dbo.BILL1.VAT, (select [dbo].FNTafkeet(BILL1.total,BILL1.GUID_CURRENCY))  FROM    dbo.BILL1 INNER JOIN   dbo.STORE ON dbo.BILL1.STORE_GUID = dbo.STORE.GUID INNER JOIN     dbo.CURRENCY ON dbo.BILL1.GUID_CURRENCY = dbo.CURRENCY.GUID   WHERE (dbo.BILL1.DELETE_NUM = 0)and(BILL1.PARENT_GUID='" + PARENT_ + "')and(BILL1.NUMBER=" + id_ + ")");
            return DT;
        }


الملفات المرفقة صورة/صور
   
الرد }}
تم الشكر بواسطة:
#2
الخطاء بالرسالة اتى من هذا الجزء
كود :
(select [dbo].FNTafkeet(BILL1.total,BILL1.GUID_CURRENCY))

ما يوضح من الكود ان
FNTafkeet

اسم جدول بقاعدة البيانات
ولكن ما تتحدث عنه انه function

جرب ازالة هذا الجزء
كود :
[dbo].

والله اعلم اذا كان سيعمل معك تمام
لان السورس غير مرفق كما ان المسميات تخمين
بحيث ان FNTafkeet فى هذا المكان كما انت تقوم به

لان من وجهة نظرة على ما استوعبه من الكود انه يجب ان يكون بهذا الشكل
كود :
FNTafkeet(dbo.BILL1.total) AS Expr4,
            FNTafkeet(dbo.BILL1.GUID_CURRENCY) AS Expr5

والله اعلم لان بسبب لا اعلم الى ماذا تشير هذا المسمى
وما اقترحته هو مجرد تخمين

ويفضل ازالة هذه الجملة
كود :
dbo.

حيث وجودها كما عدمه
وانت تستخدمها فى بعض الاعمدة والبعض الاخر لا

جرب كده وباذن الله الامور هتكون تمام معاك

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}
تم الشكر بواسطة: sendbad100
#3
(03-07-18, 06:00 PM)elgokr كتب : الخطاء بالرسالة اتى من هذا الجزء
كود :
(select [dbo].FNTafkeet(BILL1.total,BILL1.GUID_CURRENCY))

ما يوضح من الكود ان
FNTafkeet

اسم جدول بقاعدة البيانات
ولكن ما تتحدث عنه انه function

جرب ازالة هذا الجزء
كود :
[dbo].

والله اعلم اذا كان سيعمل معك تمام
لان السورس غير مرفق كما ان المسميات تخمين
بحيث ان FNTafkeet فى هذا المكان كما انت تقوم به

لان من وجهة نظرة على ما استوعبه من الكود انه يجب ان يكون بهذا الشكل
كود :
FNTafkeet(dbo.BILL1.total) AS Expr4,
            FNTafkeet(dbo.BILL1.GUID_CURRENCY) AS Expr5

والله اعلم لان بسبب لا اعلم الى ماذا تشير هذا المسمى
وما اقترحته هو مجرد تخمين

ويفضل ازالة هذه الجملة
كود :
dbo.

حيث وجودها كما عدمه
وانت تستخدمها فى بعض الاعمدة والبعض الاخر لا

جرب كده وباذن الله الامور هتكون تمام معاك

تحياتى لك
وتمنياتى لك التوفيق

شكرا اخي بس ما مشي الحال بس بالنسبة للاستعلام لما حطه داخل السيكوال يعمل
الرد }}
تم الشكر بواسطة:
#4
السلام عليكم 
انتبه  اخي الكرم
للحروف السي شارب يختلف فيها الحرف الكبير عن الصغير
A يختلف عن a.
حبيت اذكرك ربما تساعد
الرد }}
تم الشكر بواسطة: elgokr
#5
(03-07-18, 09:08 PM)aloush كتب : شكرا اخي بس ما مشي الحال بس بالنسبة للاستعلام لما حطه داخل السيكوال يعمل

الشكر لله اخى الحبيب


يعمل مع كود الاستعلام عند التطبيق فى قاعدة البيانات
لانك تستخدم الكود بدون اى تمويهات للقيم

كما سبق ووضحت ان يجب عليك حذف
كود :
dbo.
و
[dbo].

لاحظ هنا اخى فى الصورة لكل جزء مشار عليه بالاحمر

يفضل ارفاق المشروع حتى يتم التعديل على الكود
ومن ثم توضيح لك اين كان اسباب الاخطاء

تحياتى لك
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}
تم الشكر بواسطة:
#6
الخطأ هنا
PHP كود :
(select [dbo].FNTafkeet(BILL1.total,BILL1.GUID_CURRENCY)) 
حيث تم اعتبار [dbo] على أنه إسم جدول
الرد }}
تم الشكر بواسطة:
#7
(03-07-18, 09:42 PM)elgokr كتب :
(03-07-18, 09:08 PM)aloush كتب : شكرا اخي بس ما مشي الحال بس بالنسبة للاستعلام لما حطه داخل السيكوال يعمل

الشكر لله اخى الحبيب


يعمل مع كود الاستعلام عند التطبيق فى قاعدة البيانات
لانك تستخدم الكود بدون اى تمويهات للقيم

كما سبق ووضحت ان يجب عليك حذف
كود :
dbo.
و
[dbo].

لاحظ هنا اخى فى الصورة لكل جزء مشار عليه بالاحمر

يفضل ارفاق المشروع حتى يتم التعديل على الكود
ومن ثم توضيح لك اين كان اسباب الاخطاء

تحياتى لك
أخي هذا المشروع رفعته لك   https://drive.google.com/open?id=1xljuUd...9I84Ye5FKN

اخي في فيديو يوضح كيفية استخدام هذه الفكرة و بالاضافة انو الفونكشن داخل السيكوال بيطلب 2 براميتر و بالكود بلغة الفيجوال بيسك كان شغال و حتى بالسيكوال لما حط الاستعلام هذا بيطلعلي النتيجة

أخي ElGoKR  هذا فونكشن الذي استعمل في السيكوال :
كود :
ALTER FUNCTION [dbo].[FNTafkeet] (@TheNo  numeric(18,2),@guidcurrency uniqueidentifier )
returns varchar(1000) as
begin

declare @name_CURRENCY nvarchar(MAX)
set @name_CURRENCY=(select NAME from CURRENCY where guid= @guidcurrency)
declare @PARENT_CURRENCY nvarchar(MAX)
set @PARENT_CURRENCY=(select PART_NAME from CURRENCY where guid= @guidcurrency)

if @TheNo <= 0   return 'zero'
declare @TheNoAfterReplicate varchar(15)
set @TheNoAfterReplicate = right(replicate('0',15)+cast(floor(@TheNo) as varchar(15)),15)
declare @ComWithWord varchar(1000),@TheNoWithDecimal as varchar(400),@ThreeWords as int
set @ThreeWords=0
set @ComWithWord  = ' فقط '
declare   @Tafket TABLE (num int,  NoName varchar(100))
INSERT INTO @Tafket VALUES (0,'')  
INSERT INTO @Tafket VALUES (1,'واحد')
INSERT INTO @Tafket VALUES (2,'اثنان')
INSERT INTO @Tafket VALUES (3,'ثلاثة')
INSERT INTO @Tafket VALUES (4,'اربعة')
INSERT INTO @Tafket VALUES (5,'خمسة')
INSERT INTO @Tafket VALUES (6,'ستة')
INSERT INTO @Tafket VALUES (7,'سبعة')
INSERT INTO @Tafket VALUES (8,'ثمانية')
INSERT INTO @Tafket VALUES (9,'تسعة')
INSERT INTO @Tafket VALUES (10,'عشرة')
INSERT INTO @Tafket VALUES (11,'احدى عشر')
INSERT INTO @Tafket VALUES (12,'اثنى عشر')
INSERT INTO @Tafket VALUES (13,'ثلاثة عشر')
INSERT INTO @Tafket VALUES (14,'اربعة عشر')
INSERT INTO @Tafket VALUES (15,'خمسة عشر')
INSERT INTO @Tafket VALUES (16,'ستة عشر')
INSERT INTO @Tafket VALUES (17,'سبعة عشر')
INSERT INTO @Tafket VALUES (18,'ثمانية عشر')
INSERT INTO @Tafket VALUES (19,'تسعة عشر')
INSERT INTO @Tafket VALUES (20,'عشرون')
INSERT INTO @Tafket VALUES (30,'ثلاثون')
INSERT INTO @Tafket VALUES (40,'اربعون')
INSERT INTO @Tafket VALUES (50,'خمسون')
INSERT INTO @Tafket VALUES (60,'ستون')
INSERT INTO @Tafket VALUES (70,'سبعون')
INSERT INTO @Tafket VALUES (80,'ثمانون')
INSERT INTO @Tafket VALUES (90,'تسعون')
INSERT INTO @Tafket VALUES (100,'مائة')
INSERT INTO @Tafket VALUES (200,'مائتان')
INSERT INTO @Tafket VALUES (300,'ثلاثمائة')
INSERT INTO @Tafket VALUES (400,'أربعمائة')
INSERT INTO @Tafket VALUES (500,'خمسمائة')
INSERT INTO @Tafket VALUES (600,'ستمائة')
INSERT INTO @Tafket VALUES (700,'سبعمائة')
INSERT INTO @Tafket VALUES (800,'ثمانمائة')
INSERT INTO @Tafket VALUES (900,'تسعمائة')
INSERT INTO @Tafket  SELECT FirstN.num+LasteN.num,LasteN.NoName+' و '+FirstN.NoName
FROM (SELECT * FROM @Tafket WHERE num BETWEEN 20 AND 90) FirstN CROSS JOIN (SELECT * FROM @Tafket WHERE num BETWEEN 1 AND 9) LasteN
INSERT INTO @Tafket  SELECT FirstN.num+LasteN.num,FirstN.NoName+' و '+LasteN.NoName
FROM (SELECT * FROM @Tafket WHERE num BETWEEN 100 AND 900) FirstN CROSS JOIN (SELECT * FROM @Tafket WHERE num BETWEEN 1 AND 99) LasteN
if left(@TheNoAfterReplicate,3) > 0
   set @ComWithWord = @ComWithWord + ISNULL((select NoName  from  @Tafket where num=left(@TheNoAfterReplicate,3)),'')+  ' ترليون'
if left(right(@TheNoAfterReplicate,12),3) > 0 and  left(@TheNoAfterReplicate,3) > 0
   set @[email protected]+ ' و '
if left(right(@TheNoAfterReplicate,12),3) > 0
   set @ComWithWord = @ComWithWord +ISNULL((select NoName from @Tafket where num=left(right(@TheNoAfterReplicate,12),3)),'') +  ' بليون'
if left(right(@TheNoAfterReplicate,9),3) > 0
begin
   set @[email protected] + case  when @TheNo>999000000  then ' و'  else '' end
set @ThreeWords=left(right(@TheNoAfterReplicate,9),3)
      set @ComWithWord = @ComWithWord + ISNULL((select case when   @ThreeWords>2 then NoName end  from @Tafket  where num=left(right(@TheNoAfterReplicate,9),3)),'')  + case when  @ThreeWords=2 then ' مليونان' when   @ThreeWords between 3 and 10 then ' ملايين' else ' مليون' end
end
if left(right(@TheNoAfterReplicate,6),3) > 0
begin
   set @[email protected] + case  when @TheNo>999000  then ' و'  else '' end
   set @ThreeWords=left(right(@TheNoAfterReplicate,6),3)
   set @ComWithWord = @ComWithWord + ISNULL((select case when  @ThreeWords>2 then NoName  end from @Tafket where num=left(right(@TheNoAfterReplicate,6),3)),'')+ case when  @ThreeWords=2 then ' الفان' when @ThreeWords between 3 and 10 then ' الاف'  else ' الف' end
end
 if right(@TheNoAfterReplicate,3) > 0
 begin
   if round(@TheNo,0)>999
   begin
   set @[email protected] + ' و'
   end
 end
set @ThreeWords=right(@TheNoAfterReplicate,2)
set @ComWithWord =  @ComWithWord  +   ISNULL((select  NoName  from @Tafket where  num=right(@TheNoAfterReplicate,3)),'')
-- set @ComWithWord =  @ComWithWord  +   ISNULL((select  NoName  from @Tafket where @ThreeWords>2 AND num=right(@TheNoAfterReplicate,3)),'')
--set @ComWithWord = @ComWithWord +' '+ case when  @ThreeWords=2 then ' جنيهان' when @ThreeWords between 3 and 10 then ' جنيهات'  else ' جنيه' end
set @ComWithWord = @ComWithWord +' '+ case when  @ThreeWords=2 then '' when @ThreeWords between 3 and 10 then ''  else '' end
if right(rtrim(@ComWithWord),1)=',' set @ComWithWord = substring(@ComWithWord,1,len(@ComWithWord)-1)
if  right(@TheNo,len(@TheNo)-charindex('.',@TheNo)) >0 and charindex('.',@TheNo)<>0
   begin
       set @ThreeWords=left(right(round(@TheNo,2),2),2)
       SELECT @TheNoWithDecimal=  ' و' + ISNULL((SELECT NoName from @Tafket where num=left(right(round(@TheNo,2),2),2)  AND @ThreeWords >2),'')
       --set @TheNoWithDecimal = @TheNoWithDecimal+  case when  @ThreeWords=2 then ' قرشان' when @ThreeWords between 3 and 10 then ' قروش'  else '  قرش' end
               set @TheNoWithDecimal = @TheNoWithDecimal+  case when  @ThreeWords=2 then ' '[email protected]_CURRENCY when @ThreeWords between 3 and 10 then ' '[email protected]_CURRENCY  else ' '[email protected]_CURRENCY end
set @ComWithWord = @ComWithWord +'  '+ @TheNoWithDecimal
END
set @ComWithWord =    @ComWithWord + '  لا غير'+ ' (' [email protected]_CURRENCY+')'
return  rtrim(@ComWithWord)
end
الرد }}
تم الشكر بواسطة:
#8
اين قاعدة البيانات
واين الملف خاص بالاتصال (conn.txt)

وما اسم الفورم الذى به هذا الكود ؟؟
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}
تم الشكر بواسطة:
#9
lملف الاتصال بمجلد البين اسمه AccountSystem قم بنقله الى ال D:\ و الفورم هي فاتورة البيع اسمها : FrmBill  موجودة بمجلد ال PL.ITEMS
الرد }}
تم الشكر بواسطة:
#10
بعد مراجعة الملف اتضح ان الخلل فى 
كود :
FNTafkeet

يجب مراجعة هذا الجملة
حيث ان المشروع باكمله لا يوجد به اى ما يدل
على هذا الاسم الا فى ملف CLS_BILL.cs
فى السطر الخاص بالاستعلام

كما ان الكود الذى قمت بوضعه بالرد السابق 
خاص استخدام FUNCTION 
فالكود غير صحيح ويعطي خلل فى Sql Server

جرب ان تحذف هذا من كود الاستعلام
كود :
(select FNTafkeet(BILL1.total),(BILL1.GUID_CURRENCY))

وجرب ما يسعرضه من نتائج
ومن ثم عاود معالجة نقصان الـ FNTafkeet

ملحوظة: الجدول الخاص بـ BILL1 لا يحتوى على اى بيانات
عكس جدول BILL2 يحتوى على بيانات

لان فى كود الاستعلام ينتهى بـ 
كود :
and(BILL1.PARENT_GUID='" + PARENT_ + "')and(BILL1.NUMBER=" + id_ + ")

حتى تقوم بالانتباه لذلك

راجع ذلك
وابشر بما تم معاك

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم