2015-04-17 74 views
0

我已经通过Visual Studio向导使用vb格式的DataGridView绑定了sql数据库表。
我尝试了下面的代码,它成功执行并显示消息“已成功更新”,但实际上它不会对SQL数据库进行任何更改。当我重新加载表单时,我没有看到任何更改。我是VB.Net的新手,只有这件事阻止我完成我的项目。请帮助...在此先感谢如何通过点击按钮更新DataGridView中的数据来更新数据库?

Imports System.Data.SqlClient 

Public Class FormUpdate 

'Variables declared here 
Dim Con As New SqlConnection 
Dim Cmd As New SqlCommand 
Dim ds As DataSet 
Dim da As New SqlDataAdapter 
Dim cmdString As String 
Dim dt As New DataTable 
Dim dr As SqlDataReader 
Dim cmdbl As New SqlCommandBuilder 

Public Sub FormUpdate_Load(sender As Object, e As EventArgs) Handles MyBase.Load 

    'TODO: This line of code loads data into the 'ShipmentDataSetDataGridView.Shipment_Main' table. You can move, or remove it, as needed. 
    Me.Shipment_MainTableAdapter2.Fill(Me.ShipmentDataSetDataGridView.Shipment_Main) 

'CONNECTION STRING FOR THE DATABASE 
    Con.ConnectionString = "Data Source=TARIQUE;Initial Catalog=shipment;Integrated Security=True" 
End Sub 

Private Sub btnUpdate_Click(sender As Object, e As EventArgs) Handles btnUpdate.Click 

Try 
    Con.Open() 
    cmdbl = New SqlCommandBuilder(da) 
    da.Update(dt) 
    MessageBox.Show("Updated successfully!") 
Catch ex As Exception 
     MessageBox.Show(ex.ToString) 

End Try 
    Con.Close() 
End Sub 
+0

请把你用来初始化你的对象'da','dt'和'Con'的代码贴出来。 –

+0

@ S.AdamNissley添加代码.... –

+0

您的意思是这个代码...这是我用来填充搜索数据网格视图....“'通过搜索按钮执行搜索操作 Private Sub btnSearch_Click(发送者为对象,例如作为EventArgs的)把手btnSearch.Click dt.Clear() DataGridView1.DataSource = DT DataGridView1.DataSource =无 如果txtSearch.Text =什么然后 cmdString = “SELECT * FROM Shipment_Main” da =新的SqlDataAdapter(cmdString,Con) da.Fill(dt) DataGridView1.DataSource = dt' –

回答

0

你需要一个UpdateCommand添加到您的SqlDataAdapter。您可以在代码中手动执行此操作,也可以使用Visual Studio中的GUI配置DataSet。

看起来你可以从阅读文档中受益。我会在这里recommned开始: https://msdn.microsoft.com/en-us/library/ms254931(v=vs.110).aspx 有一些文章中9次主题,你应该仔细阅读至少检索数据使用DataReader更新数据源与DataAdapters

+0

感谢所有现在我的更新按钮工作正常.....我忘了设置Primar Ÿ关键数据库.... –

相关问题