PDA

View Full Version : مشکل در اتصال vb.net2008با اکسس



HRC123
جمعه 22 آذر 1387, 23:31 عصر
سلام به همه من یه مشکل دارم
دارم یه برنامه می نویسم که دیتابیسم اکسس وقتی با دیتا گیرید ویو متصل می شم به اکسس فقط عناوین فیلدها مثل نام و... رو نشون میده ولی اطلاعات جدولم رو نشون نمیده می شه بگید باید چکار کنم؟

khz-web1
شنبه 23 آذر 1387, 01:06 صبح
از طریق ویزارد میری یا کد نویسی؟

یکم بیشتر اطلاعات بده ببینیم مشکلت از چیه؟

HRC123
شنبه 23 آذر 1387, 07:50 صبح
از کد نویسی که می رو که اصلا کار نمی ده بهم از ویزاردم اینجوریه فقط عنوانها رو نشون میده اطلاعات داخل جدول رو نشون نمیده :گریه:

HRC123
شنبه 23 آذر 1387, 12:17 عصر
از کد نویسی که می رو که اصلا کار نمی ده بهم از ویزاردم اینجوریه فقط عنوانها رو نشون میده اطلاعات داخل جدول رو نشون نمیده :گریه:

khz-web1
شنبه 23 آذر 1387, 17:38 عصر
خوب حالا چرا ناراحتی ... این مشکل خیلی خیلی ساده ای هستش ... من واست حلش می کنم ....

ببین دوست من شما واسه اتصال به اکسس 2 راه دارید ...
1-ویزارد
2- کدنویسی
من در اینجا کدنویسی رو بهت یاد میدم تا با مفاهیم اتصال هم بهتر آشنا بشی... و نکته دیگر اینکه شما وقتی پروژه ای رو از طریق کدنویسی انجام می دید اون پروژه با سرعت بالاتری اجرا می شود و درصد خطا کمتری هم میده(البته این عقیده من هستش)

اما چگونه اتصال پیدا کنیم؟

1- شما ابتدا باید فضاهای نام کار با دیتا بیس اکسس رو وارد کنید...(اگر نمیدونی ، برگرد به مبحث Name space ها)
به صورت زیر وارد می کنید:


Imports System.Data.OleDb
Imports System.Data

2- بعد از وارد کردن فضای نام باید یک متغیر از نوع OleDbConnection تعریف کنید
به شکل زیر


Dim cn As OleDbConnection = New OleDbConnection("مکان تنظیم کانکشن استرینگ")


3- برای اتصال به بانک اکسس باید رشته کانکشن استرینگ(که یک چیز همیشه ثابت هستش) مخصوص بانک اکسس رو توی متغیر وارد کنید به شکل زیر



Dim cn As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=")


4- و دقیقا بعد از data source در کانکشن استرینگ باید آدرس فیزیک بانکت رو وارد کنید ...
به صورت زیر :
در مثال فوق آدرس بانک من در درایو D می باشد پس بنابراین داریم:


Dim cn As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\amozesh-va-parvares-nahie-1\learning\bin\Debug\person.mdb")

تمام شد دوست من... الان شما یک کانکشن (اتصال ) به بانک خود دارید...
اگه مشکل داری هنوز بگو تا راهنماییت کنم...
موفق باشید

HRC123
شنبه 23 آذر 1387, 19:27 عصر
مرسی ییسنم چه کار می کنم محبت کردید

سلام ببین این کدیه که من می نویسم ولی ارار میده می شه بازم کمکم کنی


Dim strsql As String
Dim strcon As String
strcon = ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\HRC\Documents\Visual Studio 2008\Projects\WindowsApplication1\WindowsApplicati on1\My Project\DataBase\proje.mdb")
Dim con As New OleDbConnection(strcon)
con.Open()
strsql = "select * from pu"
Dim da As New OleDbDataAdapter(strsql, con)
Dim ds As New DataSet
da.Fill(ds, "pu")
DataGridView1.DataBindings.Add(New Binding("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\HRC\Documents\Visual Studio 2008\Projects\WindowsApplication1\WindowsApplicati on1\My Project\DataBase\proje.mdb", ds, "pu"))
con.Close()

اون دوتا که Imports داره هم تو قسمت General اضافه کردم

HRC123
یک شنبه 24 آذر 1387, 00:08 صبح
کدم غلطه کامل؟

khz-web1
یک شنبه 24 آذر 1387, 19:05 عصر
سلام ... فکر کنم تا اونجا رو فهمیده باشی که واست توضیح دادم ؟

ببین دوست من کد زیر واست گزاشتم ...


Dim con As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=D:\ahvazi-telphone\ahvazi-telphone\bin\Debug\tell.mdb")

Dim sql AsString
Dim ds AsNew DataSet
sql = "select * from table1 "
Dim da As OleDbDataAdapter = New OleDbDataAdapter(sql, con)
con.Open()
da.Fill(ds, "table1")
con.Close()
DataGridView1.DataSource = ds
DataGridView1.DataMember = "table1"

فقط کافیه یه گرید ویو رو صفحه ات بزاری مشکل حل هستش....

اما یه پروژه هم واست آپلود کردم که (واسه یکی از همکلاسی هام ساختم) برنامه یه دفترچه تلفن هستش...
مثال خیلی خوبیه ... توصیه می کنم خوب مطالعه اش کن و مشکلاتتو مطرح اینجا .... و از همون هم واسه کارت ایده بگیر ....

HRC123
دوشنبه 25 آذر 1387, 10:35 صبح
ببخشید ولی این پروژهه دانلود نمیشه ممنمو که کمکم کردی ولی کده هم مثل کد خود ارور می ده

HRC123
دوشنبه 25 آذر 1387, 10:36 صبح
con.Open()
از این خط ارور می گره و می گه Provider=Microsoft.Jet.OLEDB.4اشکال از اینه

khz-web1
دوشنبه 25 آذر 1387, 21:23 عصر
سلام
خوب دوست من همون اول می گفتی این ارور رو میده .... شما آدرس رو اشتباه میدی ... باید آدرس فیزیکی بانکت رو درست بدی ...
بیا از این کانکشن استرینگ استفاده کن تا خودش آدرس رو پیدا کنه


("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\your data base.mdb")

موفق باشید

khz-web1
دوشنبه 25 آذر 1387, 22:45 عصر
مشکلت حل شد؟

HRC123
سه شنبه 26 آذر 1387, 11:03 صبح
بله ممنوم من چون سیستمم 64 بیت هست باید می رفتم تو خصوصیات پروژه و سی پی یو رو از x86انتخاب می کردم ممنون میشه الان کد جست و جو رو هم بهم بدی میخوام تو اطلاعات بانکم مثلا مقدار نام یا شماره دانشجویی رو جست و جو کنم که رو دیتا گیرید ویو نشون بده ممنون می شم بهم بگی

HRC123
سه شنبه 26 آذر 1387, 11:48 صبح
شرمنده خیلی پرو شدم ولی اگه کد ثبت اطلاعات از فیلدهای vb به جودول اکسس هم بهم بدی ممنون می شم یه عمر دعات می کنم

khz-web1
سه شنبه 26 آذر 1387, 18:30 عصر
شرمنده خیلی پرو شدم ولی اگه کد ثبت اطلاعات از فیلدهای vb به جودول اکسس هم بهم بدی ممنون می شم یه عمر دعات می کنم


سلام

این کد درج اطلاعات هستش


Dim con As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=D:\ahvazi-telphone\ahvazi-telphone\bin\Debug\tell.mdb")
Dim cmd As OleDbCommand = New OleDbCommand
Dim str As String
str = "insert into table1 (firstname,lastname,namefather,tell,adress) values (@firtsname,@lastname,@namefather,@tell,@adress)"
cmd.CommandText = str
cmd.Connection = con
cmd.Parameters.AddWithValue("@firstname", TextBox1.Text)
cmd.Parameters.AddWithValue("@lastname", TextBox2.Text)
cmd.Parameters.AddWithValue("@namefather", TextBox3.Text)
cmd.Parameters.AddWithValue("@tell", TextBox4.Text)
cmd.Parameters.AddWithValue("@adress", TextBox5.Text)
con.Open()
cmd.ExecuteNonQuery()
con.Close()

نفهمیدی بگو تا برات توضیح بدم ....
موفق باشید

khz-web1
سه شنبه 26 آذر 1387, 18:46 عصر
بله ممنوم من چون سیستمم 64 بیت هست باید می رفتم تو خصوصیات پروژه و سی پی یو رو از x86انتخاب می کردم ممنون میشه الان کد جست و جو رو هم بهم بدی میخوام تو اطلاعات بانکم مثلا مقدار نام یا شماره دانشجویی رو جست و جو کنم که رو دیتا گیرید ویو نشون بده ممنون می شم بهم بگی
سلام

این کد جستجو هستش


If RadioButton1.Checked Then


Dim con As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=D:\ahvazi-telphone\ahvazi-telphone\bin\Debug\tell.mdb")
Dim sql As String
Dim ds As New DataSet
DataGridView1.AutoGenerateColumns = True
DataGridView1.DataBindings.Clear()
sql = "select * from table1 where lastname=" + "'" + TextBox6.Text + "'"
Dim da As OleDbDataAdapter = New OleDbDataAdapter(sql, con)
con.Open()
da.Fill(ds, "table1")


con.Close()
DataGridView1.DataSource = ds
DataGridView1.DataMember = "table1"
DataGridView1.Columns("firstname").HeaderText = "نام کوچک"
DataGridView1.Columns("lastname").HeaderText = "نام خانوادگی"
DataGridView1.Columns("namefather").HeaderText = "نام پدر"
DataGridView1.Columns("tell").HeaderText = "تلفن"
DataGridView1.Columns("adress").HeaderText = "آدرس"
Else

Dim con As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=D:\ahvazi-telphone\ahvazi-telphone\bin\Debug\tell.mdb")
Dim sql As String
Dim ds As New DataSet
DataGridView1.AutoGenerateColumns = True
DataGridView1.DataBindings.Clear()
sql = "select * from table1 where tell=" + "'" + TextBox6.Text + "'"
Dim da As OleDbDataAdapter = New OleDbDataAdapter(sql, con)
con.Open()
da.Fill(ds, "table1")


con.Close()
DataGridView1.DataSource = ds

HRC123
سه شنبه 26 آذر 1387, 20:50 عصر
ببخشید این خط واسه چیه cmd.ExecuteNonQuery() اسمه چیه

HRC123
سه شنبه 26 آذر 1387, 21:08 عصر
آقا ممنون کد ثبت از اون خط بالایی سینتکس ارور میده و جست و جو با همه فیلده کار میده ولی یک فیلد عددی دارم که کلیده از اون ارور می گیره

HRC123
سه شنبه 26 آذر 1387, 21:33 عصر
با سلام و تبریک عید
کد جست و جو درست شد ولی اون یکی سینتکس ارور می ده

HRC123
چهارشنبه 27 آذر 1387, 16:07 عصر
ممنون همه چیز درست شد خیلی ممنون

HRC123
پنج شنبه 28 آذر 1387, 14:07 عصر
سلام دوست عزیز الان یه مشکله دیگه دارم ببخشید
من حالا می خوا واسه ویرایش اطلاعات هرکی تو خود دیتا گیرید ویو تغییراتو انجامم بده و بعد دکمه اینترو بزنه تا تغییرات اعمال بشه تو دیتا بیس و واسه پاک کردن اطلاعات تو خود دیتا گیرید .ویو دکمه دیلت باشه که هرکی رو که میخواد جلو خودش دکمش باشه که که دیگه هرکسی رو جلو خوش باشه که پاک کردنش ساده باشه

khz-web1
جمعه 29 آذر 1387, 17:41 عصر
این هم باز هم کار ساده ای هستش... یکم صبر کن واست یه مثال میزارم که کارت راه بیوفته (متاسفانه این روزها خیلی سرم شلوغه زیاد وقت نمی کنم بیام تو نت )

HRC123
یک شنبه 01 دی 1387, 10:05 صبح
سلام مرسی از لطفت ولی اگه می شه یکم زودتر مرسی

HRC123
پنج شنبه 05 دی 1387, 12:25 عصر
کجایی پس اگه یکم زودتر لطف کنی بیاییی ممنونت می شم

HRC123
یک شنبه 08 دی 1387, 14:42 عصر
سلام ببین من واسه دیلت این کد و پیدا کردم ولی این همه اطلاعات رو پاک می کنه می شه بگی چه کار کنم؟
یعنی شرطشو چی باید بزارم


Dim strConnection AsString = ("Provider=Microsoft.Jet.OLEDB.4.0;data source=C:\Users\HRC\Documents\Visual Studio 2008\Projects\WindowsApplication1\DataBase\proje.m db")
Dim cn AsNew OleDbConnection(strConnection)
Dim cmd As OleDbCommand


cn.Open()
cmd = New OleDbCommand
With cmd
.Connection = cn
.CommandText = "delete from pu"
EndWith
cmd.ExecuteNonQuery()
cn.Close()

HRC123
یک شنبه 08 دی 1387, 15:26 عصر
منظورم از شرط اینه که اونی که انتخاب شده رو پاک کنه چون مثلا تو SQL می نویسیسم DELET form
table1 where name=puحالا من اوونی که سلکت شده رو چجوری بگم که پاک کنه

HRC123
سه شنبه 10 دی 1387, 10:40 صبح
میشه بگی واسه آپدیدت set رو چجوری بنویسم که اطلاعات رو از دیتا گیرید ویو بگیره ممنون می شم

HRC123
پنج شنبه 12 دی 1387, 19:54 عصر
ممنمو کارام انجام شد مرسی