1

DataType の主キーtidに基づいてレコードを削除しようとしています。しかし、問題は削除されないことです。どこで DataType のフィールドを削除しても問題はありません。何か理由はありますか? フィールドは私の主キーです。MS AccessTEXTinttid

タイプを作成することで間違いを犯しました。今は(プログラム的な方法で)TEXTに変換したいですか?intMS Access DB に変更を加えずに再度バインドしますか?

必要に応じてコードを尋ねます。あらゆる種類の助けをいただければ幸いです。

@Scotch の要求に応じて EDIT : これは、問題を引き起こしているコード スニップです。

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であるため、delete ステートメントには引用符が必要です。

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

フィールドタイプを数値に変更したい場合は、それを行うことができます。警告が表示されますが、すべてのレコードの tid フィールドに数字だけがあれば問題なく動作します。

于 2013-02-28T04:56:11.623 に答える