تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشكلة في ادخال قيمة موجودة في textbox
#1
السلام عليكم ورحمة الله وبركاته

يوجد لدي جدول في احد حقوله وهو رقم العميل  ، عند ادخال القيمة الخاصة به والتي يأخذها من مربع نص تدخل القيمة فارغة على الرغم من احتواء مربع النص على القيمة  ، حيث في الكود اريده  أن ياخذ القيمة اثناء تنفيذ امر الحفظ  حيث يذهب الى قاعدة البيانات و  وبعد مراجعة شرط معين تظهر  القيمة في مربع النص  هذا  . وعند الضغط على زر حفظ عندي ارى القيمة المستدعاة تظهر في مربع النص ولكن  القيمة تدخل فارغة في الجدول  

ولقد اختصرت الكود ليكون ببساطة هكذا  ولغيت الشروط التي اضعها للقيمة واعطيتها قيمة ثابتة لتجربة الكود ولكنه ايضا لا يعمل 

 Dim cominsert1 As New SqlCommand("insert into table1 (name_id) values ('" & TextBox18.Text & "')", con)


        TextBox18.Text = 1
        con.Open()
        cominsert1.ExecuteNonQuery()
        con.Close()
ارجو توضيح الخطأ الموجود
 ولكم جزيل الشكر
الرد }}}
تم الشكر بواسطة:
#2
أخي الفاضل :


أرفق المثال افضل للتعديل عليه
Don't Be The Perfect one
be the right one
الرد }}}
تم الشكر بواسطة:
#3
(07-06-16, 04:54 PM)boudyonline كتب : أخي الفاضل :


أرفق المثال افضل للتعديل عليه

تفضل المثال مرفق


الملفات المرفقة
.rar   newfolder.rar (الحجم : 119.79 ك ب / التحميلات : 57)
الرد }}}
تم الشكر بواسطة:
#4
أين قاعدة البيانات ؟
Don't Be The Perfect one
be the right one
الرد }}}
تم الشكر بواسطة:
#5
كنت مرفقة قاعدة البيانات بامتداد .bak  تفضل قاعدة البيانات مرفقة


الملفات المرفقة
.rar   New folder (4).rar (الحجم : 503.04 ك ب / التحميلات : 50)
الرد }}}
تم الشكر بواسطة:
#6
جربت المثال شغال تم الحفظ .. ووجدت ما قمت بحفظه في الجدول .

ولا اعلم ماهو المطلوب ؟؟؟
الرد }}}
تم الشكر بواسطة:
#7
ما اريده هو ادخال قيمة رقم العميل ولكنها هنا لا تأخذ قيمة وتدخل فارغة واذا كانت هنا تأخذ القيمة صفر  فذلك لان   نوع الحقل int ولو قمت بتغيير نوع الحقل  الى nvarchar  سيأخذ قيمة  null  .
*********
وانا في الكود اريده ان يقوم بحفظ الاسم  و رقم العميل ويأخذ رقم العميل قيمة تبدأ هنا برقم واحد  
واضع شرطا عند الحفظ وهو : اذا اردت ان احفظ نفس الاسم متكرر مرة اخرى والذي له رقم 1 مثلا  ان يذهب الى قاعدة البيانات قبل تنفيذ أمر الحفظ  ويبحث عن الاسم لو وجده يقوم ياستدعاء رقم العميل الخاص به وهو 1  ثم يحفظه مع الاسم وباقي البيانات الجديدة لنفس العميل في سجل اخر بنفس الرقم  وهو 1 اما اذا بحث عن الاسم ولم يجده في قاعدة البيانات يقوم  ياعطائه رقم عميل جديد وهو 2 وهكذا بالتسلسل  
********
ولكن هنا لا يدخل الفيمة الخاصة برقم العميل اصلا من البداية
ارجو المساعدة  وشكرا
الرد }}}
تم الشكر بواسطة:
#8
يا نسيم،

اول شيء اختبر الموجود في مربع النص إذا كان يحتوي رقم.
بعدين استخدم البارامتر لادخال البيانات مثل هذي الطريقة
PHP كود :
If Not IsNumeric(TextBox18.TextThen
    MsgBox
("تأكد من الرقم")
    Return
End If

Dim cominsert1 As New SqlCommand("insert into table1 (name_id) values (@id)"con)
cominsert1.Parameters.AddWithValue("@id"Val(TextBox18.Text))

con.Open()
cominsert1.ExecuteNonQuery()
con.Close() 

لماذا هذا السطر
TextBox18.Text = 1
الرد }}}
تم الشكر بواسطة:
#9
(13-06-16, 03:49 PM)الوادي كتب : يا نسيم،

اول شيء اختبر الموجود في مربع النص إذا كان يحتوي رقم.
بعدين استخدم البارامتر لادخال البيانات مثل هذي الطريقة
PHP كود :
If Not IsNumeric(TextBox18.TextThen
    MsgBox
("تأكد من الرقم")
 
   Return
End 
If

Dim cominsert1 As New SqlCommand("insert into table1 (name_id) values (@id)"con)
cominsert1.Parameters.AddWithValue("@id"Val(TextBox18.Text))

con.Open()
cominsert1.ExecuteNonQuery()
con.Close() 

لماذا هذا السطر
TextBox18.Text = 1

انا اريده ان يأخذ المتغير اثناء عملية الحفظ بعد جملة insert وقبل con.Open()
cominsert1.ExecuteNonQuery()
con.Close()   كما في المثال الذي قمت بإرفاقه بعد ما طلبتوا مني ارفاق المثال للتوضيح اكثر وايضا الذي قمت بشرحه في التعليق اعلاه  ..وهذا المثال الذي يحتوي السطر TextBox18.Text = 1 هو كود مختصر افترض فيه انها  قيمةالمتغبر المستدعاة من فاعدة البيانات واضعها كما اريدها ان تكون بعد جملة insert  ولكنه لا يدخلها في قاعدة البيانات حتى لو اعطيته فيمة ثابتة كما في هذا السطر 
الرد }}}
تم الشكر بواسطة:
#10
يا نسيم،

اعتمادا على المرفق (newfolder.rar) وقاعدة البيانات المرفقة (New folder (4).rar)

الخطأ اللي عندك أنك وضعت قيمة name_id داخل علامات  ' ' والتي مخصصة للنصوص

عموما وضعت لك طريقة أرجو أن تفيد في طريقة ترتيب الكود مستقبلا
لاحظ أنه تم استخدام Parameters لأنها الطريقة الصحيحة لإدراح البيانات
PHP كود :
Imports System.Data.SqlClient

Public Class Form1

    Private Sub Button1_Click
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click

        
' التأكد من محتوى مربع النص المخصص للرقم '
 
       If Not IsNumeric(Me.TextBox1.TextThen
            MsgBox
("تأكد من الرقم")
 
           Return
        End 
If


 
       ' التأكد من وجود الاسم في قاعدة البيانات '
 
       If isExist(Me.TextBox2.TextThen

            Dim mssg 
As String String.Format("يوجد بيانات باسم السيد {0}{1}{2}{3}{4} هل تريد ادخال بيانات اخرى لنفس الشخص ؟"vbCrLfMe.TextBox2.Text.TrimvbCrLfSpace(4), Space(4))
 
           Dim style As MsgBoxStyle MsgBoxStyle.DefaultButton2 Or MsgBoxStyle.YesNo Or MsgBoxStyle.MsgBoxRtlReading Or MsgBoxStyle.MsgBoxRight

            If MsgBox
(mssgstyle"برنامج") = MsgBoxResult.Yes Then

                
' إضافة الاسم إلى قاعدة البيانات مع التأكد من نجاح الإضافة '
 
               If insertName(Val(Me.TextBox1.Text), Me.TextBox2.TextThen
                    MessageBox
.Show("تم الحفظ بنجاح""برنامج "MessageBoxButtons.OK)

 
               End If

 
           End If

 
       Else

            
' إضافة الاسم إلى قاعدة البيانات مع التأكد من نجاح الإضافة '
 
           If insertName(Val(Me.TextBox1.Text), Me.TextBox2.TextThen
                MessageBox
.Show("تم الحفظ بنجاح""برنامج "MessageBoxButtons.OK)
 
           End If
 
       End If

 
       TextBox1.Clear()
 
       TextBox2.Clear()
 
       TextBox1.Focus()

 
   End Sub

    
' التأكد من وجود الاسم في قاعدة البيانات بارجاع النتيجة '
 
   Private Function isExist(mName As String) As Boolean
        Dim selectCommand 
As New SqlCommand("SELECT COUNT(*) FROM [table1] WHERE [name]=@p1"con)
 
       selectCommand.Parameters.AddWithValue("@p1"mName.Trim)

 
       If con.State <> ConnectionState.Open Then con.Open()
 
       Dim selRet As Integer selectCommand.ExecuteScalar
        con
.Close()

 
       If selRet 0 Then
            Return True
        Else
            Return False
        End 
If
 
   End Function

 
   ' إضافة الاسم إلى قاعدة البيانات مع إرجاع نجاح الإضافة من فشلها '
 
   Private Function insertName(mID As IntegermName As String) As Boolean
        Dim insertCommand 
As New SqlCommand("INSERT INTO [table1] ([name_id], [name]) values (@p1, @p2)"con)
 
       insertCommand.Parameters.AddWithValue("@p1"mID)
 
       insertCommand.Parameters.AddWithValue("@p2"mName.Trim)

 
       If con.State <> ConnectionState.Open Then con.Open()
 
       Dim insRet As Integer insertCommand.ExecuteNonQuery
        con
.Close()

 
       If insRet 0 Then
            Return True
        Else
            Return False
        End 
If
 
   End Function

End Class 

لاحظت أن name_id ليس ترقيم تلقائي، هل أنت قاصد هذا الوضع؟
مع أن المفروض وجود حقل ترقيم تلقائي لزوم التحديث أو الحذف.

السطر
If con.State = ConnectionState.Open Then con.Close
يقوم بغلق الاتصال إذا كان مفتوح، السؤال لماذا تغلقه طالما أنه مفتوح، وضعت لك أسلوب أفضل وهو
If con.State <> ConnectionState.Open Then con.Open
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشكلة فى الجريد فيو salah525 10 540 05-11-23, 08:15 PM
آخر رد: justforit
Big Grin مشكلة لسه ماحدش جاوبني عليها cmd.excutenunquery Medo84 1 1,304 27-08-23, 12:47 PM
آخر رد: رضوان الجماعي
  مشكلة عند الاتصال ب sql server 2014 bassant 1 1,004 27-08-23, 12:26 PM
آخر رد: رضوان الجماعي
  [سؤال] مشكلة فى عرض الصورة من ادخل قاعدة البيانات alims 2 1,266 17-11-21, 10:09 AM
آخر رد: سعود
  مشكلة ظهور بياانات حقلين في قاعدة بيانات على شكل علامة استفهام bassant 5 1,632 17-10-21, 02:07 PM
آخر رد: abubasilIraq
  مشكلة عند الاتصال ب sql server 2014 bassant 4 1,416 16-09-21, 02:52 PM
آخر رد: asemshahen5
  [سؤال] كيفية الوصول الى قاعدة بيانات mysql موجودة على الكمبيوتر المحلي xammp عن طريق النت alfaiz678 4 1,882 25-06-21, 09:46 AM
آخر رد: alfaiz678
  [سؤال] مشكلة اضافة التاريخ مع قاعدة بيانات alims 6 2,335 25-01-21, 02:45 AM
آخر رد: alims
  مشكلة في إظهار عمود التاريخ في داتا جريد فيو mofhmy 5 6,558 12-11-20, 12:13 PM
آخر رد: bahaa.elkomy@yahoo.com
  اظهار قيمة الـــ DateTimePicker عند استدعائها من قاعدة البيانات mr_hso 4 2,541 04-09-19, 12:33 PM
آخر رد: mr_hso

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


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