تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] تغيير محتوى listbox
#11
اخواني اشكركم للافكار الرائعه ولي سؤال
اريد ان اضع مجموعه متغيرات من جدول واحد في قاعده بيانات في ليست بوكس على ان تكون المتغيرات في سطر واحد مع اضافه نصوص الى السطر بالاضافه لوجود قيمه مرجعيه للسطر ماخوذه من نفس الجدول في قاعده البيانات
مثال


PHP كود :
listbox1.item.add("Mr/s:" DS.tables("users").rows(0).item("first_name") & " " DS.tables(users").rows(0).item("last_name"))
listbox1.valuemember =ds.tables("
users").rows(0).item("id") 

قمت بتجربه الكود ولكن يوجد خطاء الرجاء افادتنا
وشكرا
الرد }}}
تم الشكر بواسطة:
#12
Incubus

استدعي هذه الدالة FillListBoxDataSource
PHP كود :
Private Sub FillListBoxDataSource()
    
Dim sql As String _
        
"SELECT [id], " _
        
"       ([first_name]+' '+[last_name]) AS [full_name] " _
        
"FROM   [table1] "

    
Using da As New OleDb.OleDbDataAdapter(sqlcnn)
        
Dim dt As New DataTable
        da
.Fill(dt)
        
Me.ListBox1.DisplayMember "full_name"
        
Me.ListBox1.ValueMember "id"
        
Me.ListBox1.DataSource dt
        Me
.ListBox1.SelectedIndex = -1
    End Using
End Sub 
الرد }}}
تم الشكر بواسطة: LoveVb , Incubus
#13
(29-07-16, 05:25 AM)الوادي كتب : Incubus

استدعي هذه الدالة FillListBoxDataSource
PHP كود :
Private Sub FillListBoxDataSource()
 
   Dim sql As String _
        
"SELECT [id], " _
        
"       ([first_name]+' '+[last_name]) AS [full_name] " _
        
"FROM   [table1] "

 
   Using da As New OleDb.OleDbDataAdapter(sqlcnn)
 
       Dim dt As New DataTable
        da
.Fill(dt)
 
       Me.ListBox1.DisplayMember "full_name"
 
       Me.ListBox1.ValueMember "id"
 
       Me.ListBox1.DataSource dt
        Me
.ListBox1.SelectedIndex = -1
    End Using
End Sub 

واذا اردت وضع بعض الكلامات التعريفيه بينهم مثلا : (محمد) بن (سيد) ؟؟ هذا ما اريده بالضبط
ودمت سالما
الرد }}}
تم الشكر بواسطة: الوادي
#14
حيكون التغيير في نص sql كالتالي
PHP كود :
Dim sql As String _
    
"SELECT [id], " _
    
"       ([first_name]+' بن '+[last_name]) AS [full_name] " _
    
"FROM   [table1] " 

وإذا فيه عمود يحدد النوع (ذكر،أنثى) ممكن نستخدم الشرط IIF في نص sql أيضاً كالتالي (حيث الحقل gender نوع رقمي وفيه: ذكر=1، أنثى=2)
PHP كود :
Dim sql As String _
    
"SELECT [id], " _
    
"       ([first_name]+IIF([gender]=1,' بن ',' بنت ')+[last_name]) AS [full_name] " _
    
"FROM   [table1] " 
الرد }}}
تم الشكر بواسطة: Incubus
#15
جزاك الله خيرا وجاري التجربه

(29-07-16, 11:50 PM)Incubus كتب : جزاك الله خيرا وجاري التجربه

تمت التجربه واعتقد انها تعمل
لاني اعمل على حقول بها ارقام وباستعمال المعامل + يتم جمع الارقام اما مع المعامل & كان الناتج 0
وعندما اضيف قيم نصيه بمنتصف جمله  select   كان يعطني رساله خطاء انه لايمكن تعديل القيمه من string  الى double

فما الحل برايك؟
الرد }}}
تم الشكر بواسطة:
#16
لم أفهم (لاني اعمل على حقول بها ارقام وباستعمال المعامل + يتم جمع الارقام اما مع المعامل & كان الناتج 0)

لتحويل الرقم لنص استخدم الأمر STR مثل تحويل double الى string
PHP كود :
STR([column]) 

ولتحويل النص لرقم استخدم الأمر VAL مثل تحويل string الى double
PHP كود :
VAL([column]) 
الرد }}}
تم الشكر بواسطة: Incubus
#17
اشكرك جزيلا يا اخ الوادي والله مشكور وما قصرت
جزاك الله كل خير وجعله في ميزان حسناتك

من الواضح اني محتاج كورس SQL  

بس اخر سؤال الله يكرمك

في حقل من ضمن الحقول عباره عن تاريخ ارقام بدون فواصل مثل 20160101 واريد لما يظهر بالليست بوكس يظهر طبيعي 2016/01/01
وكنت استخدم كود لما كنت استدعي كل حقل لوحده في جمله السيلكت بحيث يحول سلسله الارقام لتاريخ فهل يوحد ما يقابله داخل جمله السيلكت
مثال:-


PHP كود :
Dim MyString As String DS.Tables("company").Rows(0).Item("DateOfBirth")
Dim result As Date
result 
DateSerial(CInt(MyString.Substring(04)), CInt(MyString.Substring(42)), CInt(MyString.Substring(62))) 
هل يمكن مثلا استخدام :
select date([dateofbirth])

شكرا ليك مره تانيه
الرد }}}
تم الشكر بواسطة: الوادي
#18
نفس الفكرة ولكن باستخدام كلمة MID
PHP كود :
(MID([dateofbirth],1,4)+'/'+MID([dateofbirth],5,2)+'/'+MID([dateofbirth],6,2)) AS [birthdate
لاحظ أن المؤشر في MID يبدأ بواحد(1) وليس مثل Substring

وإذا أردت أن يرجع لك العمود من نوع تاريخ استخدم كلمة CDATE للناتج
PHP كود :
CDATE( (MID([dateofbirth],1,4)+'/'+MID([dateofbirth],5,2)+'/'+MID([dateofbirth],6,2)) ) AS [birthdate
الرد }}}
تم الشكر بواسطة: LoveVb , Incubus , Incubus
#19
تمت التجربه ولكن اعطاني رساله خطاء
'mid' is not a recognized built-in function name.
انا استخدم vb.net 2012 مع system.data.sqlclient
جربت اباعد بين + و (') رجعلي خطاء في (')syntex error
الرد }}}
تم الشكر بواسطة:
#20
كل أجوبتي كانت على أساس أنك تستخدم ACCESS
مع SQLServer نستخدم SUBSTRING وليس MID مع اعتبار أن المؤشر يبدأ بواحد(1) مثل MID
الرد }}}
تم الشكر بواسطة: Incubus



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


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