PDA

View Full Version : سوال: چگونه هنگام اجرا در DataGrideView اطلاعات ثبت کنیم؟



leila71
دوشنبه 08 اسفند 1390, 12:41 عصر
سلام دوستان عزیز.یه سوال داشتم هر کدام از دوستان بلدن خواهشا جواب صریحی بدن.مرسی
من با vb.net برنامه ای نوشتم یه فرم گذاشتم و روی فرم یه datagridview قراردادم و یه دکمه ثبت. می خوام موقع اجرا بتونم در datagridview اطلاعات را وارد کنم بعد وقتی روی دکمه ثبت کلیک کردم اطلاعات آن سلول یا رکورد در بانک sql ثبت شود.خواهشا جواب دقیقی بدهید چون من تازه کار هستم.در ضمن این datagrid به بانک sql متصل می باشد.بی نهایت ممنون

klinton
سه شنبه 09 اسفند 1390, 02:16 صبح
Me

.oleDbConnection1.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = |DataDirectory|\log.mdb; Persist Security Info = True"


Me.oleDbDataAdapter1.SelectCommand = New OleDbCommand("SELECT ID, Field1, Field2 FROM Table1", Me.oleDbConnection1)


Me.oleDbDataAdapter1.Fill(Me.dataTable1)


Me.dataGridView1.DataSource = dataTable1


'Initialize UPDATE Command.


Me.oleDbDataAdapter1.UpdateCommand = New OleDbCommand("UPDATE Table1 SET Field1 = @field1, Field2 = @field2 WHERE ID = @id", Me.oleDbConnection1)


Me.oleDbDataAdapter1.UpdateCommand.Parameters.AddW ithValue("@field1", GetType(String)).SourceColumn = "Field1"


Me.oleDbDataAdapter1.UpdateCommand.Parameters.AddW ithValue("@field2", GetType(String)).SourceColumn = "Field2"


Me.oleDbDataAdapter1.UpdateCommand.Parameters.AddW ithValue("@id", GetType(Integer)).SourceColumn = "ID"


'Initialize INSERT Command.


Me.oleDbDataAdapter1.InsertCommand = New OleDbCommand("INSERT INTO Table1 (Field1, Field2) VALUES (@field1, @field2)", Me.oleDbConnection1)


Me.oleDbDataAdapter1.InsertCommand.Parameters.AddW ithValue("@field1", GetType(String)).SourceColumn = "Field1"


Me.oleDbDataAdapter1.InsertCommand.Parameters.AddW ithValue("@field2", GetType(String)).SourceColumn = "Field2"


'Initialize DELETE Command.


Me.oleDbDataAdapter1.DeleteCommand = New OleDbCommand("DELETE FROM Table1 WHERE ID = @id", Me.oleDbConnection1)


Me.oleDbDataAdapter1.DeleteCommand.Parameters.AddW ithValue("@id", GetType(Integer)).SourceColumn = "ID"


Me.dataGridView1.Columns("ID").Visible = False


Me.dataGridView1.Columns("Field1").HeaderText = ""


Me.dataGridView1.Columns("Field2").HeaderText = ""



Private

Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles button1.Click


'


Me.oleDbDataAdapter1.Update(dataTable1)


End Sub

shadi khanum
سه شنبه 09 اسفند 1390, 08:26 صبح
میتونی یه حلقه بزنی رو ردیف های دیتاتیبل که پشت گرید و بر اساس rowstate اون datarowها که (changed یا added یا Deleted) باشن ردیف ها رو از دیتابیس حذف یا Edit یا add کنی که البته خود dataadapter هم توی دستور update همین کار رو میکنه. منتها این که خودت دستی این کار رو انجام بدی به این درد میخوره که اگه یه جایی یه استثنایی داشته باشی واسه کار با دیتابیس(مثلا بخوای یه ورودی کاربر رو قبل از save یه کاری باهاش انجام بدی یا یه چیزیشو تغییر بدی)، دستت بازه و میتونی
موفق باشی