PDA

View Full Version : ریختن رکورد های یک ستون در لیست باکس



Veteran
چهارشنبه 09 فروردین 1391, 19:06 عصر
سلام دوستان یک ستون داریم که مخوایم رکورد های اون ستون رو توی یک لیست باکس بریزیم.
میشه راهنمایی بفرمائین
جستجو کردم مثل اینکه باید از دیتاریدر ها استفاده کرد از تابع getvalue اما بنده اشنایی نداریم.
با تشکر

دیتابیس اکسس هست

ROSTAM2
چهارشنبه 09 فروردین 1391, 19:10 عصر
شیء دیتاست تمام اطلاعات جداول رو درون خودش داره با ساختن یه حلقه می تونی اطلاعات فیلتر شده هر جدولی رو وارد هر شیئی که دلت می خواد بکنی

Veteran
چهارشنبه 09 فروردین 1391, 19:12 عصر
دیتاست ؟
من از
System.Data.OleDb
OleDbCommand
OleDbConnection
برای اتصال استفاده کردم.

ROSTAM2
چهارشنبه 09 فروردین 1391, 19:19 عصر
اینو دیگه نمی دونم !
چرا از روشهای متداول استفاده نمی کنید تا با مشکل مواجه نشید؟
دوست عزیز شرمنده من با منابع اکسس تو برنامه کار نکردم !

Hybrid
چهارشنبه 09 فروردین 1391, 19:31 عصر
سلام ، شما باید از oledbdataReader و ExecuteReader استفاده کنید ، به قطعه کدی که واستون نوشتم دقت کنین :



Dim cmd As New OleDbCommand
With cmd
.Connection = my_con
.CommandType = CommandType.Text
.CommandText = "Select p_name,p_fname from table1"

If .Connection.State <> ConnectionState.Open Then
.Connection.Open()
End If
End With

Dim dr As OleDbDataReader
dr = cmd.ExecuteReader()

Do While dr.Read()
ListBox1.Items.Add(dr.Item("p_name"))
Loop


my_con.Close()


سوالی داشتین بپرسین.

موفق باشید./

Veteran
چهارشنبه 09 فروردین 1391, 19:52 عصر
با تشکر.
چجوری استفاده کنیم اینو ؟
مگه
my_con
همون کانکشن نیست ؟
من به جاش ادرس کانکشن خودمو گذاشتم اما خطا داد

zaeimh90
چهارشنبه 09 فروردین 1391, 21:22 عصر
به جای اون my_con باید از این کد استفاده کرد :
"Provider=Microsoft.JET.OLEDB.4.0;Data Source="c:\a.mdb"
این مثلا برای access2003 هست برای 2010 هم provider عوض میشه.

Hybrid
چهارشنبه 09 فروردین 1391, 21:48 عصر
با تشکر.
چجوری استفاده کنیم اینو ؟
مگه
my_con
همون کانکشن نیست ؟
من به جاش ادرس کانکشن خودمو گذاشتم اما خطا داد


اون my_con کانکشن موجود در پروژه منه شما به جای اون نام کانکشن خودتون رو قرار بدین.

Veteran
چهارشنبه 09 فروردین 1391, 23:56 عصر
خب منم کانکشن خودمو قرار میدم اما خطا میده
به این خط

.Connection = connectionString
این اررور رو میده.
Unable to cast object of type 'System.String' to type 'System.Data.OleDb.OleDbConnection'.

Hybrid
پنج شنبه 10 فروردین 1391, 00:42 صبح
خب منم کانکشن خودمو قرار میدم اما خطا میده
به این خط

.Connection = connectionString
این اررور رو میده.
Unable to cast object of type 'System.String' to type 'System.Data.OleDb.OleDbConnection'.

دوست عزیز شما اومدین کانکشن استرینگ رو به خصوصیت Connection نسبت دادین که اشتباه هست کل کد به شکل زیر هست :


Dim my_con As New OleDbConnection
my_con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + "\Database1.accdb"


Dim cmd As New OleDbCommand
With cmd
.Connection = my_con
.CommandType = CommandType.Text
.CommandText = "Select p_name,p_fname from table1"

If .Connection.State <> ConnectionState.Open Then
.Connection.Open()
End If
End With

Dim dr As OleDbDataReader
dr = cmd.ExecuteReader()

Do While dr.Read()
ListBox1.Items.Add(dr.Item("p_name"))
Loop


my_con.Close()

در کد بالا my_con اسم کانکشن موجود در پروژه منه که شما میتونین نامش رو تغییر بدین و کانکشن استرینگ رو خصوصیت ConnectionString ش نسبت دادم.