استخراج داده های متنی یک ستون جدول و نمایش آن در یک تسکت باکس
سلام و عرض ادب
جدولی دارم که یکی از ستون هاش حاوی داده های متنی هست. میخوام با سلکت روی این ستون کل داده هاش استخراج بشه و با کاما جدا بشه و در قالب یک رشته در تکست باکس نمایش داده بشه.
لطفا راهنمایی کنید.
ممنونم
نقل قول: استخراج داده های متنی یک ستون جدول و نمایش آن در یک تسکت باکس
سلام و روز خوش
پرسش شما گنگ هست!
1- منظور از جدول:
یک table در database هست،
یا یک datatable،
یا یک گرید (به طور کلی).
2- منظور از "کل داده ها" چی هست؟
همه مقادیر یک فیلد جدول (یا ستون گرید)؟
یا مقدار همون یک فیلد از یک رکورد معین (یا یک سلول گرید)؟
اول این ها رو مشخص کنین،
بعد دیتا نمونه همراه با خروجی مورد نظر پیوست کنین (اسکرین شات یا متنی فرمت شده).
نقل قول: استخراج داده های متنی یک ستون جدول و نمایش آن در یک تسکت باکس
سلام مجدد
داده های ستون مشخص رو بصورت دیتا تیبل سلکت کردم
Private Sub Load_Bank8()
Dim con7 As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0 ;Data Source=" & My.Application.Info.DirectoryPath & "\DB1.accdb")
con7.Open()
Dim da7 As New OleDbDataAdapter("SELECT m_hesab from tb_bedehkar", con7)
Dim dt7 As New DataTable()
da2.Fill(dt7)
con7.Close()
'RichTextBox1.Text = "بابت" + " " + ds7.Tables(0).Rows(i7)("m_hesab").ToString()
'RichTextBox1.Text = "بابت" + " " + ds7.Tables(0).Rows(0)("m_hesab").ToString() + " " + "و" + " " + ds7.Tables(0).Rows(1)("m_hesab").ToString() + " " + "و" + " " + ds7.Tables(0).Rows(2)("m_hesab").ToString() + " " + "و" + " " + ds7.Tables(0).Rows(3)("m_hesab").ToString() + " " + "و" + " " + ds7.Tables(0).Rows(4)("m_hesab").ToString()
End Sub
نقل قول: استخراج داده های متنی یک ستون جدول و نمایش آن در یک تسکت باکس
اون دو خط آخر رو به این صورت بفکرم رسید انجام بدم ولی خب داده ها و سطرها متغیر هستن و حتما به خطا بر میخورم
1 ضمیمه
نقل قول: استخراج داده های متنی یک ستون جدول و نمایش آن در یک تسکت باکس
ضمیمه 155645
اینم اسکرین شات کد
نقل قول: استخراج داده های متنی یک ستون جدول و نمایش آن در یک تسکت باکس
الان خواسته شما کاملا مشخص هست:
dim constr as string="Provider=Microsoft.ACE.OLEDB.12.0 ;Data Source=" & My.Application.Info.DirectoryPath & "\DB1.accdb"
Dim dt7 As New DataTable()
using con7 As New OleDb.OleDbConnection(constr)
con7.Open()
using da7 As New OleDb.OleDbDataAdapter("SELECT m_hesab from tb_bedehkar" , con7)
da7.Fill(dt7)
end using
con7.Close()
end using
dim mhesab as list(of string) = dt7.asenumerable().select(function(row) row.field(of string)("m_hesab")).tolist
RichTextBox1.Text = " بابت" + String.Join(" و ", mhesab)
چند مورد هم هست که بهتره در نظر داشته باشین:
1- برای چیزهایی مثل connection , command , dataadapter , datareader و ... بهتره از using استفاده کنین
که روش رو در کد ویرایش شده خودتون میبینین.
2- اینجا با استفاده از linq کل ستون m_hesab رو به یک لیست از استرینگ تبدیل کردیم و بعد این لیست رو با " و " به هم چسبوندیم (join).
این رو میشه در یک حلقه هم پیاده کرد:
dim mhesab as new list(of string)
for each row as datarow in dt7.rows
mehesab.add(row("m_hesab"))
next
RichTextBox1.Text = " بابت" + String.Join(" و ", mhesab)
3- اگر دیتا شما readonly هست،
میتونین همون زمان خوندن دیتا از دیتابیس، برای هر ستون مقدار عبارت رو هم محاسبه کنین.
در این صورت بهتره از datareader استفاده کنین.
=========
برای گذاشتن کدها در پست از تگ مناسب اون استفاده کنین (اینجا تگ VB).
اسکرین شات برای کد گذشته از ای که برای کدهای طولانی باعث ناخوانایی میشه،
در جستجو هم دیده نمیشه.
نقل قول: استخراج داده های متنی یک ستون جدول و نمایش آن در یک تسکت باکس
سلام و سپاس از راهنمایی تون
به خوبی مشکل منو حل کردین.
و همچنین تکشر بابت ارائه روش کدنویسی