在数据集中查找个别行,用datarow的find主键方法出现数据表无主键的问题!
数据库文件为 f.mdb 只有一个表 tab 表有3列 其中name在制作表的时候已经设置成主键
代码如下
Dim conn As New OleDbConnection
Dim da As New OleDbDataAdapter
Dim cmd As New OleDbCommand
Dim dset As New DataSet
Dim dcb As New OleDbCommandBuilder(da)
Dim newrow As DataRow
Dim mytable As DataTable
cmd.Connection = conn
da.SelectCommand = cmd
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=f.mdb "
cmd.CommandText = "select * from tab "
da.Fill(dset, "tab ")
Dim findstr As String
Dim findrow as DataRow
findstr=TextBox1.text
findrow=dset.Tables( "tab ").Rows.Find(findstr) -> 运行到这里就说数据表没有主键可是做数据表的时候已经设置好主键了 请问如何解决?
[解决办法]
dset.DataTable( "tab ").PrimaryKey = new DataColumn() { dt.Columns( "name ") };
在Fill DataSet 后指定主键