1

我正在尝试根据DataType的主键tid删除记录。但问题是,它没有被删除。删除 DataType 的字段没有问题。有什么原因吗?该字段是我的主键。MS AccessTEXTinttid

我把它弄错了类型TEXT,现在想把它转换成int(以编程方式)?无需更改 MS Access DB 并再次绑定?

如果需要,请索取代码。任何形式的帮助将不胜感激。

根据@Scotch 的要求进行编辑: 这是给我带来问题的代码片段。

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        Dim delcmd As New OleDbCommand("delete from teacher where tid=" & TextBox1.Text & " ", conaccess)
        delcmd.ExecuteNonQuery()
        MsgBox("Record is deleted")
        loadGrid()
        TextBox1.Clear()
        TextBox2.Clear()

        loadGrid()
    End Sub

就像,其他插入操作运行得很好:

例子:

   Dim access As String = String.Format("INSERT INTO teacher (tid,tname,dept,type) VALUES('{0}','{1}','{2}','{3}')", TextBox1.Text, TextBox2.Text, ComboBox2.Text, ComboBox1.Text)
    concmd.Connection = conaccess
    concmd.CommandText = access
    concmd.ExecuteNonQuery()
    MsgBox("Record Successfully Saved")
    loadGrid()
    TextBox1.Clear()
    TextBox2.Clear()
4

1 回答 1

0

由于您的 tid 字段是text,因此您需要在删除语句中使用引号。

  Dim delcmd As New OleDbCommand("delete from teacher where tid='" & TextBox1.Text & "'", conaccess)

如果要将字段类型更改为数字,则可以这样做。它会警告你,但如果你在每条记录的 tid 字段中只有数字字符,它会正常工作。

于 2013-02-28T04:56:11.623 回答