原先用sqlserver数据库存储一些系统设置,读取和保存都是用语句写的。后来想试试数据绑定,毕竟绑定用好的话变成会比较简单。
于是弄了几个空间试验,创建一个数据表datatable,创建了SqlCommandBuilder,dataadapter
将控件与datatable绑定,一切正常,数据显示出来,可以更改,调用了adapter的update也没有报错.可数据没有写回数据库表.
后来将datatable换成了dataset,出现了错误提示,表必须有主键.
给数据表添加主键之后,一切正常。
Public Class Frm_BasicConfig
Dim dataadapter As SqlDataAdapter
Dim bindingsource1 As New BindingSource
Dim Dt As New DataTable
Dim commandBuilder As SqlCommandBuilder
Private Sub GetData(ByVal selectCommand As String)
Try
Dim connectionString As String = _
"Integrated Security=SSPI;Persist Security Info=False;" + _
"Initial Catalog=lsremote;Data Source=(local)"
dataadapter = New SqlDataAdapter(selectCommand, connectionString)
commandBuilder = New SqlCommandBuilder(Me.dataadapter)
dataadapter.Fill(Dt)
bindingsource1.DataSource = Dt
DataGridView1.AutoResizeColumns( _
DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader)
DataGridView1.DataSource = bindingsource1
T_IP.DataBindings.Add("Text", bindingsource1, "IP") '将textBox1.Text属性与mydata.Value绑定
Catch ex As SqlException
MessageBox.Show(ex.Message)
End Try
End Sub