2

我正在尝试使用 vb.net 从 ms 访问数据库中删除一行。但是我收到了上述错误。所有字段都是数据库中的文本。

这是我的代码:

dim deleteRow() as DataRow

deleteRow = ds.Tables("ccc").Select("Question = '" & QuestionList(x).Text & "'")
deleteRow(0).Delete()
da.Update(ds,"ccc")
4

2 回答 2

1

Vishal ....您的任何问题(x)。文本值是否包含单引号?单引号将导致您的 select 语句出错。例如

如果你的问题是你叫什么名字?您的选择语句将是 Select(Question = 'What's your name>?')

这将在 's 处出错-我也不确定右括号是否会导致错误,如您上面的示例所示

选择(问题 = '390)什么是计算机?')

这可能会在第一个右括号处出错。

于 2013-12-16T13:19:47.627 回答
0

您可以尝试新的代码段

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
于 2013-12-16T14:58:54.313 回答