PDA

View Full Version : ثبت اطلاعات دیتاگرید در بانک



shadi_bahar
دوشنبه 23 فروردین 1389, 11:29 صبح
سلام
کد زیر در مورد ثبت اطلاعات دیتاگرید در بانک قسمت UPDATE جواب نمیده لطفا راهنمایی کنید تروخدا کارم گیره :لبخند:

Dim con As New OleDbConnection
Dim strcon As String = "provider=microsoft.jet.oledb.4.0;data source=employer.mdb;"

con.ConnectionString = strcon
Dim da As OleDbDataAdapter
Dim ds As New DataSet
Dim cb As OleDbCommandBuilder
Dim rowIndexDS, rowIndexDGV, column As Integer

da = New OleDbDataAdapter("Select * from addwork", con)
da.Fill(ds, "addwork")
con.Open()
rowIndexDS = ds.Tables("addwork").Rows.Count
For rowIndexDGV = 0 To DataGridView1.Rows.Count - 2
ds.Tables("addwork").Rows.Add()
For column = 0 To 5
ds.Tables("addwork").Rows(rowIndexDS)(column) = DataGridView1(column, rowIndexDGV).Value.ToString()
Next

rowIndexDS = rowIndexDS + 1
Next

cb = New OleDbCommandBuilder(da)
da = cb.DataAdapter
("da.Update(ds, "addwork
con.Close()

Mohammad_chz
دوشنبه 23 فروردین 1389, 12:19 عصر
دوست من شما اگه از یه BindingSource برای انتقال اطلاعات به Gride استفاده کنی بعدش به راحتی میتونی با دستور Updat از Dataadapter مشکلتو حل کنی.
امیدوارم واضح گفته باشم

iran_sky
سه شنبه 24 فروردین 1389, 01:31 صبح
دوست عزیز
بانک من sql هست اما مثلا به جای sqlcommand بنویس oledbcommand همین
اینم کد update



PrivateSub btn_edit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_edit.Click
Try
Dim conn AsNew SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Phone Book.mdf;Integrated Security=True;User Instance=True")
Dim dta AsNew SqlDataAdapter("select * from notebook", conn)
Dim ds AsNew DataSet
Dim cmd AsNew SqlCommand
cmd.Connection = conn
cmd.CommandText = "update notebook set name=@name,lastname=@lastname,telephone=@telephone ,address=@address where telephone=@telephone"
cmd.Parameters.AddWithValue("name", Trim(txt_name.Text))
cmd.Parameters.AddWithValue("lastname", Trim(txt_lastname.Text))
cmd.Parameters.AddWithValue("telephone", Trim(txt_telephone.Text))
cmd.Parameters.AddWithValue("address", Trim(txt_address.Text))
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()
MessageBox.Show(" ")
DataGridView1.AutoGenerateColumns = True
ds.Clear()
dta.Fill(ds, "notebook")
DataGridView1.DataSource = ds
DataGridView1.DataMember = "notebook"
txt_name.Text = ""
txt_lastname.Text = ""
txt_telephone.Text = ""
txt_address.Text = ""
txt_name.Select()
Catch ex As Exception
MsgBox(ex.Message)
EndTry

EndSub


اینم کد ذخیره



PrivateSub btn_save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_save.Click
Try
Dim conn AsNew SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Phone Book.mdf;Integrated Security=True;User Instance=True")
Dim dta AsNew SqlDataAdapter("select * from notebook", conn)
Dim ds AsNew DataSet
Dim cmd AsNew SqlCommand
cmd.Connection = conn
cmd.CommandText = "insert into notebook values(@name,@lastname,@telephone,@address)"
cmd.Parameters.AddWithValue("@name", Trim(txt_name.Text))
cmd.Parameters.AddWithValue("@lastname", Trim(txt_lastname.Text))
cmd.Parameters.AddWithValue("@telephone", Trim(txt_telephone.Text))
cmd.Parameters.AddWithValue("@address", Trim(txt_address.Text))
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()
MessageBox.Show(" ")
DataGridView1.AutoGenerateColumns = True
ds.Clear()
dta.Fill(ds, "notebook")
DataGridView1.DataSource = ds
DataGridView1.DataMember = "notebook"
txt_name.Text = ""
txt_lastname.Text = ""
txt_telephone.Text = ""
txt_address.Text = ""
txt_name.Select()
Catch ex As Exception
MsgBox(ex.Message)
EndTry
EndSub


موفق باشی

mehrdad55
یک شنبه 30 خرداد 1389, 08:58 صبح
با سلام
من کد شما را به این صورت تغییر دادم
ولی باز پیغام خطا میدهد
(Number of query values and destination fields are not the same)
خط 9






Dim con AsNew OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=m:\gharz_t.mdb;Jet OLEDB:Database Password=1")

Dim dta AsNew OleDb.OleDbDataAdapter("select * from sanadtemp", con)

Dim ds AsNew DataSet

Dim cmd AsNew OleDbCommand

cmd.Connection = con

cmd.CommandText = "insert into sanadtemp values(@sharh)"

cmd.Parameters.AddWithValue( "sharh", Trim(sharh.Text))

con.Open()

cmd.ExecuteNonQuery()

con.Close()

DataGridView1.AutoGenerateColumns = True

ds.Clear()

dta.Fill(ds, "sanadtemp")

DataGridView1.DataSource = ds

DataGridView1.DataMember = "sanadtemp"