تقييم الموضوع :
  • 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
أخي الفاضل :


أرفق المثال افضل للتعديل عليه
الرد }}}}
تم الشكر بواسطة:
#3
(07-06-16, 04:54 PM)boudyonline كتب : أخي الفاضل :


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

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


الملفات المرفقة
.rar   newfolder.rar (الحجم : 119.79 ك ب / التحميلات : 33)
الرد }}}}
تم الشكر بواسطة:
#4
أين قاعدة البيانات ؟
الرد }}}}
تم الشكر بواسطة:
#5
كنت مرفقة قاعدة البيانات بامتداد .bak  تفضل قاعدة البيانات مرفقة


الملفات المرفقة
.rar   New folder (4).rar (الحجم : 503.04 ك ب / التحميلات : 28)
الرد }}}}
تم الشكر بواسطة:
#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
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشكلة في تصميم قاعدة البيانات djelloul 2 37 06-12-16, 12:36 PM
آخر رد: djelloul
  [C#.NET] مشكلة في استعلام مابين تاريخين abdallah_alashwal 1 57 09-11-16, 12:04 PM
آخر رد: ممدوح
Sad [Acces2007] عاجل ارجو المساعدة لدي مشكلة مع برمجة زر البحث في الاكسس saimon 4 120 24-10-16, 07:54 PM
آخر رد: saimon
  مشكلة في حساب كمية السلع في المخزن djelloul 0 91 06-10-16, 02:15 PM
آخر رد: djelloul
  [سؤال] المساعده فى شرح كيفية انشاء هذه العلاقة بين هذه الجداول وادراجها بــ TextBox hamadaalmasry 1 169 26-06-16, 03:06 AM
آخر رد: سعود
  مشكلة الترقيم التلقائي للعمود الاول في الداتا جريد فيو kofa 31 733 18-06-16, 03:53 AM
آخر رد: khodor1985
Sad مشكلة عدم حفظ البيانات في قاعدة البيانات wrd 10 542 10-06-16, 10:20 PM
آخر رد: ابو ليلى
  مشكلة ربط قواعد البيانات للفورمات المختلفة ali jamal 0 158 07-06-16, 02:31 PM
آخر رد: ali jamal
  كيف اقوم بحفظ محتوى داخل combox اضيف بواسطه textbox داخل قاعدة البيانات المثال مرفق رهف العريفي 4 221 04-06-16, 08:55 AM
آخر رد: رهف العريفي
  مشكلة في نقل قاعدة البيانات الى جهاز اخر Namer 5 290 02-06-16, 12:01 PM
آخر رد: Namer

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


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