تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
تخزين رقم الحقل المحدد من الكومبوبكس
#1
Question 
السلام عليكم 
جدول البنك و المستخدمين 



اريده ان يخزن فى جدول bank رقم المستخدم  user_id و يظهر فى datagridview1 الموجوده فى فورم bank اسم المستخدم  user_name الموجود فى جدول user7

كتبت فى module 


يوجد فورم بها كومبوبكس لاضافه مستخدم كما بالشكل 


بعد الاضافه لايظهر اسم المستخدم 
و هذا هو اجراء الحفظ 

اريده ان يخزن فى جدول bank رقم المستخدم  user_id و يظهر فى datagridview1 الموجوده فى فورم bank اسم المستخدم  user_name الموجود فى جدول user7
ما الحل ؟
الرد }}}
تم الشكر بواسطة:
#2
احد الحلول السريعة ان تقوم بتعبئه ال gv باسم المستخدم  وال ID 


 ووضع علامه (ـ) بينهم : user1-500
وتقوم بجلب كل القيمة التي تلي  (-)

كود :
Sub fill_comb()
       CSNF.Items.Clear()
       Dim query As String
       Dim command As OleDbCommand
       Dim reader As OleDbDataReader

       'فحص الاتصال بقاعدة البيانات
       If Conn.State = ConnectionState.Closed Then
           Conn.Open()
       End If
       query = "SELECT user_name,user_id from table"
       command = New OleDbCommand(query, Conn)
       reader = command.ExecuteReader()
       If reader.HasRows Then
           While reader.Read()
               CSNF.Items.Add(reader(0) & "-" & reader(1))
           End While
       End If
       reader.Close()
       Conn.Close()

   End Sub


او اذا كان ال user_name غير مكرر
استدعي الرقم الخاص به عند تغير الاختيار في combo عن طرق function 

كود :
Public Function user_id(ByVal username As String) As Integer

       Dim output As Integer

       Try
           If ConnectionState.Open Then
               Conn.Close()
           End If

           Conn.Open()
           Dim cmd As OleDbCommand = Conn.CreateCommand
           cmd.CommandText = "Select user_id from your_table where user_name=@user_name"
           cmd.Prepare()
           cmd.Parameters.AddWithValue("@user_name", username)

           Dim dr As OleDbDataReader
           dr = cmd.ExecuteReader
           While dr.Read()
               output = dr.GetValue(0)
           End While
           dr.Close()

       Catch ex As OleDbException
           ' Do some logging or something.
           MessageBox.Show("There was an error accessing your data. DETAIL: " & ex.Message)
       End Try

       Return output

   End Function

كود :
   Private Sub ComboBox_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox.SelectedIndexChanged
       user_id(ComboBox.SelectedItem)
   End Sub
الرد }}}
تم الشكر بواسطة:
#3
مرفق المشروع و ارجو تعديله

إقتباس :احد الحلول السريعة ان تقوم بتعبئه ال gv باسم المستخدم  وال ID 


 ووضع علامه (ـ) بينهم : user1-500
وتقوم بجلب كل القيمة التي تلي  (-)

كود :

كود :
Sub fill_comb()
       CSNF.Items.Clear()
       Dim query As String
       Dim command As OleDbCommand
       Dim reader As OleDbDataReader

       'فحص الاتصال بقاعدة البيانات
       If Conn.State = ConnectionState.Closed Then
           Conn.Open()
       End If
       query = "SELECT user_name,user_id from table"
       command = New OleDbCommand(query, Conn)
       reader = command.ExecuteReader()
       If reader.HasRows Then
           While reader.Read()
               CSNF.Items.Add(reader(0) & "-" & reader(1))
           End While
       End If
       reader.Close()
       Conn.Close()

   End Sub
الحقل bank_user_id نوعه int هل تصلح هذه الطريقه ؟


الملفات المرفقة
.rar   bank.rar (الحجم : 4.31 م ب / التحميلات : 9)
.rar   daccount.rar (الحجم : 13.73 ك ب / التحميلات : 5)
الرد }}}
تم الشكر بواسطة:
#4
صديقي مشروعك sql و انت مرفق قاعدة بيانات access 
وليس لدي الوقت لتحويله.


الطريقه سهلة جدا 

استخدم ال function هذا 
كود :
Public Function user_id(ByVal username As String) As Integer

      Dim output As Integer

      Try
          If ConnectionState.Open Then
              Conn.Close()
          End If

          Conn.Open()
          Dim cmd As OleDbCommand = Conn.CreateCommand
          cmd.CommandText = "Select user_id from your_table where user_name=@user_name"
          cmd.Prepare()
          cmd.Parameters.AddWithValue("@user_name", username)

          Dim dr As OleDbDataReader
          dr = cmd.ExecuteReader
          While dr.Read()
              output = dr.GetValue(0)
          End While
          dr.Close()

      Catch ex As OleDbException
          ' Do some logging or something.
          MessageBox.Show("There was an error accessing your data. DETAIL: " & ex.Message)
      End Try

      Return output

  End Function

وعدل اسماء الاعمدة اللازمه واسم الجدول.
عند ادخال البيانات اللازمه للجدول فقط ضع  user_id(ComboBox.SelectedItem) 
user_id(ComboBox.SelectedItem) -- هي رقم ال user_id 
الرد }}}
تم الشكر بواسطة:
#5
هل ممكن بعد اذنك تحول الكود السابق الى اتصال منفصل اى بال dataadapter لانى غير متذكر لاكواد الاتصال المتصل
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  اريد طباعة الباركود المحدد فقط مع الكمية new_programer 5 430 09-01-24, 08:40 PM
آخر رد: new_programer
  [VB.NET] طريقة عرض قيمة المحدد من ComboBox فراس الغزي 9 3,554 18-12-22, 12:03 AM
آخر رد: kebboud
  كود التاكد من الحقل موجود داخل الجدول فب قاعدة بيانات sql server vb.net عبدالكريم برشدان 4 1,308 30-07-22, 01:02 AM
آخر رد: سعود
  فصل قيمة الحقل الي جزئين في كريستال ريبورت cordava 2 835 14-05-22, 06:03 AM
آخر رد: cordava
  [SQL] طريقة الجمع الحقل في قاعدة البيانات Views محمد بوقزاحة 0 875 31-01-22, 01:05 PM
آخر رد: محمد بوقزاحة
  كيفية جعل الحقل TestBox يكتب عربي او انجليزي فقط Ikramynasr 6 1,407 08-11-21, 04:30 PM
آخر رد: Ikramynasr
Rainbow [كود] تغيير اسم الحقل في الاكسيس محمد مسافر 7 1,663 27-07-21, 09:11 PM
آخر رد: محمد مسافر
  احتاج كود يقوم بتكملة رقم الجول تلقائيا بنفس الحقل عندما اقوم بكتابة جوال العميل mohamedgadain61 5 1,746 12-01-21, 07:52 PM
آخر رد: محمد بن عطية
  هذا الحقل لايشير الى الجدول ؟ Abuzakria 4 1,109 27-11-20, 04:10 PM
آخر رد: Abuzakria
  [VB.NET] عدم استعراض الحقل كاملا Mtaktak 7 1,828 29-05-20, 02:53 AM
آخر رد: boudyonline

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


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