asp.net中条件表达式中的数据类型不匹配

asp.net中条件表达式中的数据类型不匹配,asp.net,vb.net,Asp.net,Vb.net,我正在尝试使用vb.net从ms access数据库中删除一行。 但是我得到了上面提到的错误。 所有字段都是数据库中的文本 这是我的密码: dim deleteRow() as DataRow deleteRow = ds.Tables("ccc").Select("Question = '" & QuestionList(x).Text & "'") deleteRow(0).Delete() da.Update(ds,"ccc") 维沙。。。。您的问题(x)文本值是否包含

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

这是我的密码:

dim deleteRow() as DataRow

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

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

如果你的问题是你叫什么名字? 您的select语句将是 选择(问题=‘你叫什么名字?’

这将在'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
子删除行()
将cnn设置为新的OleDbConnection(“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=MyDatabase.mdb;User Id=admin;Password=;”)
Dim cmd作为新的OLEDB命令
cmd.Connection=cnn
cmd.CommandType=CommandType.Text
cmd.CommandText=“从其中删除*问题=”&问题列表(x).Text&“
使用cnn
cnn.open()
cmd.ExecuteNonQuery()
终端使用
端接头

问题列表(x)文本的内容是什么?它是否包含带单引号的文本?当我尝试删除问题(x)的值时。文本为390)什么是计算机?