منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
مشكله في اضافة البيانات التي باللغه العربيه في سيكوال سيرفر - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : مشكله في اضافة البيانات التي باللغه العربيه في سيكوال سيرفر (/showthread.php?tid=30606)

الصفحات: 1 2


مشكله في اضافة البيانات التي باللغه العربيه في سيكوال سيرفر - Emam emam - 30-07-19

السلام عليكم اخوتي
عندي مشكله وهي عند اضافة البيانات التي باللغه العربيه في سيكوال سيرفر تظهر علي شكل علامة استفهام فما الحل
وهدا هو الكود 
ارجو التعديل عليه
وجزاكم الله خيرا
PHP كود :
Public Sub Insert_Patient(ByVal Code As IntegerByVal RegistrationDate As DateByVal ResultDate As DateByVal RegistrationTime As DateByVal ResultTime As DateByVal PatientTitle As StringByVal PatientName As String)
 
       'إضافة البيانات
        Dim cmd As New SqlCommand("Insert into Patients (Code,RegistrationDate,ResultDate,RegistrationTime,ResultTime,PatientTitle,PatientName) values(@Code,@RegistrationDate,@ResultDate,@RegistrationTime,@ResultTime,@PatientTitle,@PatientName)", connSQL)
        cmd.Parameters.Add("Code", SqlDbType.Int).Value = Max_Code_Form_Patients() + 1
        cmd.Parameters.Add("RegistrationDate", SqlDbType.Date).Value = RegistrationDate
        cmd.Parameters.Add("ResultDate", SqlDbType.Date).Value = ResultDate
        cmd.Parameters.Add("RegistrationTime", SqlDbType.VarChar).Value = RegistrationTime
        cmd.Parameters.Add("ResultTime", SqlDbType.VarChar).Value = ResultTime
        cmd.Parameters.Add("@PatientTitle", SqlDbType.VarChar).Value = PatientTitle
        cmd.Parameters.Add("@PatientName", SqlDbType.VarChar).Value = PatientName
        If connSQL.State = 1 Then connSQL.Close()
        connSQL.Open()
        cmd.ExecuteNonQuery()
        connSQL.Close()
        cmd = Nothing
    End Sub 
ثم اقوم باستدعائه في زر الاضافه 
PHP كود :
       Insert_Patient(LblCode.TextDateTimePicker3.TextDateTimePicker4.TextlblRegDate.TextlblResultDate.TextComboBox1.TextComboBox2.Text



RE: مشكله في اضافة البيانات التي باللغه العربيه في سيكوال سيرفر - اسامه الهرماوي - 30-07-19

أنا بستخدم الكود دا وهو شغال معي 100%
كود :
Dim Cmd As New SqlCommand
           With Cmd
               .Connection = con
               .CommandType = CommandType.Text
               .CommandText = "Insert Into table (اسم_الخدمة,التكلفة)values('" & t1.Text & "','" & t2.Text & "')"
           End With
           If con.State = 1 Then con.Close()
           con.Open()
           Cmd.ExecuteNonQuery()
           con.Close()
           MsgBox("تم إضافة السجل بنجاح", MsgBoxStyle.Information, "حفظ")
           Cmd = Nothing



RE: مشكله في اضافة البيانات التي باللغه العربيه في سيكوال سيرفر - Emam emam - 30-07-19

(30-07-19, 02:56 AM)اسامه الهرماوي كتب : أنا بستخدم الكود دا وهو شغال معي 100%
كود :
Dim Cmd As New SqlCommand
           With Cmd
               .Connection = con
               .CommandType = CommandType.Text
               .CommandText = "Insert Into table (اسم_الخدمة,التكلفة)values('" & t1.Text & "','" & t2.Text & "')"
           End With
           If con.State = 1 Then con.Close()
           con.Open()
           Cmd.ExecuteNonQuery()
           con.Close()
           MsgBox("تم إضافة السجل بنجاح", MsgBoxStyle.Information, "حفظ")
           Cmd = Nothing

شكرا اخي اسامه
ولكن ان كنت ساستخدم هدا الكود مثلا مائة مرة . 
سيكون الامر صعب ان اكتب الكود كاملا في كل مره وخاصة ان كان عد السجلات كثيرا 
فهل ينفع اعمله في Sub  ثم اقوم باستدعائه حينما اشاء
كيف دلك وجزاك الله خيرا


RE: مشكله في اضافة البيانات التي باللغه العربيه في سيكوال سيرفر - اسامه الهرماوي - 30-07-19

نعم ضعة عي sub واستدعية كما تشاء أو ضعة في موديل وحول كلمة Dim الي متغير عام إن كانت عملية الحفظ من نفس الفورم.

وسيكون الكود هكذا:

Public Cmd As New SqlCommand


RE: مشكله في اضافة البيانات التي باللغه العربيه في سيكوال سيرفر - Emam emam - 30-07-19

(30-07-19, 03:21 AM)اسامه الهرماوي كتب : نعم ضعة عي sub واستدعية كما تشاء أو ضعة في موديل وحول كلمة Dim الي متغير عام إن كانت عملية الحفظ من نفس الفورم.

وسيكون الكود هكذا:

Public Cmd As New SqlCommand

اسف اخي اريد منك ان تعمله في Sub  وتقوم باستدعائه

 لاني عملته ولم ينجح معي 
جزاك الله خيرا


RE: مشكله في اضافة البيانات التي باللغه العربيه في سيكوال سيرفر - سامي محمد - 30-07-19

جرب أن تغير نوع الحقل في SQL من VarChar إلى NVarChar


RE: مشكله في اضافة البيانات التي باللغه العربيه في سيكوال سيرفر - ابراهيم ايبو - 30-07-19

السلام عليكم اخي الكريم 
لديك الخمس الحقول الاولى وعند اضافة الباراميترات لم تضع اشارة (الاروباص) اي هده الاشارة @ 
قم باضافتها للحقول الخمسة الاولى
لاحظ هنا
كود :
cmd.Parameters.Add("RegistrationDate", SqlDbType.Date).Value = RegistrationDate
يجب ان يكون هكذا
كود :
cmd.Parameters.Add("@RegistrationDate", SqlDbType.Date).Value = RegistrationDate



RE: مشكله في اضافة البيانات التي باللغه العربيه في سيكوال سيرفر - Emam emam - 30-07-19

(30-07-19, 03:40 AM)سامي محمد كتب : جرب أن تغير نوع الحقل في SQL من VarChar إلى NVarChar
نعم اخي نجحت بفضل الله ثم مساعدتك

بارك الله فيك 
لا اعرف كيف اشكر اخي 
ولا انسي اخي اسامه الهرماوي
تعبته معي كثيرا 
بارك الله فيكم جميعا

(30-07-19, 03:43 AM)ابراهيم ايبو كتب :
السلام عليكم اخي الكريم 
لديك الخمس الحقول الاولى وعند اضافة الباراميترات لم تضع اشارة (الاروباص) اي هده الاشارة @ 
قم باضافتها للحقول الخمسة الاولى
لاحظ هنا
كود :
cmd.Parameters.Add("RegistrationDate", SqlDbType.Date).Value = RegistrationDate
يجب ان يكون هكذا
كود :
cmd.Parameters.Add("@RegistrationDate", SqlDbType.Date).Value = RegistrationDate


تمام اخي [url=http://vb4arb.com/vb/member.php?action=profile&uid=28150][/url]
بارك الله الله فيك تعبتك معي في اكثر من مشاركه 
جزاك الله خير الجزاء وجعله الله في ميزان حسناتك


RE: مشكله في اضافة البيانات التي باللغه العربيه في سيكوال سيرفر - ابراهيم ايبو - 30-07-19

بالمناسبة مازال لديك خطأ حتى تكون صيغة كتابة الباراميتر صحيحة ولايظهر لك اخطاء
انظر الى هذا السطر  وانهج مثله لباقي الحقول
كود :
cmd.Parameters.Add(New SqlParameter("@PatientTitle", SqlDbType.VarChar)).Value = PatientTitle
تفضل كود الحفظ خاصتك هكذا
PHP كود :
 Public Sub Insert_Patient(ByVal Code As IntegerByVal RegistrationDate As DateByVal ResultDate As DateByVal RegistrationTime As DateByVal ResultTime As DateByVal PatientTitle As StringByVal PatientName As String)
 
       'إضافة البيانات
        Dim cmd As New SqlCommand("Insert into Patients (Code,RegistrationDate,ResultDate,RegistrationTime,ResultTime,PatientTitle,PatientName) values(@Code,@RegistrationDate,@ResultDate,@RegistrationTime,@ResultTime,@PatientTitle,@PatientName)", connSQL)
        cmd.Parameters.Add(New SqlParameter("@Code", SqlDbType.Int)).Value = Max_Code_Form_Patients() + 1
        cmd.Parameters.Add(New SqlParameter("@RegistrationDate", SqlDbType.Date)).Value = RegistrationDate
        cmd.Parameters.Add(New SqlParameter("@ResultDate", SqlDbType.Date)).Value = ResultDate
        cmd.Parameters.Add(New SqlParameter("@RegistrationTime", SqlDbType.VarChar)).Value = RegistrationTime
        cmd.Parameters.Add(New SqlParameter("@ResultTime", SqlDbType.VarChar)).Value = ResultTime
        cmd.Parameters.Add(New SqlParameter("@PatientTitle", SqlDbType.VarChar)).Value = PatientTitle
        cmd.Parameters.Add(New SqlParameter("@PatientName", SqlDbType.VarChar)).Value = PatientName

        If connSQL.State = 1 Then connSQL.Close()
        connSQL.Open()
        cmd.ExecuteNonQuery()
        connSQL.Close()
        cmd = Nothing
    End Sub 



RE: مشكله في اضافة البيانات التي باللغه العربيه في سيكوال سيرفر - Emam emam - 30-07-19

(30-07-19, 03:57 AM)ابراهيم ايبو كتب :
بالمناسبة مازال لديك خطأ حتى تكون صيغة كتابة الباراميتر صحيحة ولايظهر لك اخطاء
انظر الى هذا السطر  وانهج مثله لباقي الحقول
كود :
cmd.Parameters.Add(New SqlParameter("@PatientTitle", SqlDbType.VarChar)).Value = PatientTitle
تفضل كود الحفظ خاصتك هكذا
PHP كود :
 Public Sub Insert_Patient(ByVal Code As IntegerByVal RegistrationDate As DateByVal ResultDate As DateByVal RegistrationTime As DateByVal ResultTime As DateByVal PatientTitle As StringByVal PatientName As String)
 
       'إضافة البيانات
        Dim cmd As New SqlCommand("Insert into Patients (Code,RegistrationDate,ResultDate,RegistrationTime,ResultTime,PatientTitle,PatientName) values(@Code,@RegistrationDate,@ResultDate,@RegistrationTime,@ResultTime,@PatientTitle,@PatientName)", connSQL)
        cmd.Parameters.Add(New SqlParameter("@Code", SqlDbType.Int)).Value = Max_Code_Form_Patients() + 1
        cmd.Parameters.Add(New SqlParameter("@RegistrationDate", SqlDbType.Date)).Value = RegistrationDate
        cmd.Parameters.Add(New SqlParameter("@ResultDate", SqlDbType.Date)).Value = ResultDate
        cmd.Parameters.Add(New SqlParameter("@RegistrationTime", SqlDbType.VarChar)).Value = RegistrationTime
        cmd.Parameters.Add(New SqlParameter("@ResultTime", SqlDbType.VarChar)).Value = ResultTime
        cmd.Parameters.Add(New SqlParameter("@PatientTitle", SqlDbType.VarChar)).Value = PatientTitle
        cmd.Parameters.Add(New SqlParameter("@PatientName", SqlDbType.VarChar)).Value = PatientName

        If connSQL.State = 1 Then connSQL.Close()
        connSQL.Open()
        cmd.ExecuteNonQuery()
        connSQL.Close()
        cmd = Nothing
    End Sub 
والله يا اخي لا اعرف كيف اشكرك
تعبتك كثيرا سامحني
Heart