我正在尝试使用 vb.net 从 ms 访问数据库中删除一行。但是我收到了上述错误。所有字段都是数据库中的文本。
这是我的代码:
dim deleteRow() as DataRow
deleteRow = ds.Tables("ccc").Select("Question = '" & QuestionList(x).Text & "'")
deleteRow(0).Delete()
da.Update(ds,"ccc")
Vishal ....您的任何问题(x)。文本值是否包含单引号?单引号将导致您的 select 语句出错。例如
如果你的问题是你叫什么名字?您的选择语句将是 Select(Question = 'What's your name>?')
这将在 's 处出错-我也不确定右括号是否会导致错误,如您上面的示例所示
选择(问题 = '390)什么是计算机?')
这可能会在第一个右括号处出错。
您可以尝试新的代码段
Sub DeleteRow()
Dim cnn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=MyDatabase.mdb;User Id=admin;Password=;")
Dim cmd As New OleDbCommand
cmd.Connection = cnn
cmd.CommandType = CommandType.Text
cmd.CommandText = "DELETE * FROM <your table> WHERE Question='" & QuestionList(x).Text & "'"
Using cnn
cnn.open()
cmd.ExecuteNonQuery()
End Using
End Sub