发新话题
打印

[求助]insert into 语句有语法错误?

[求助]insert into 语句有语法错误?

我写了下面的代码,在调试时老说我的insert into 语句有语法错误,请高手帮帮忙,谢谢啦!!!~~   
If number.Text = "" Then
            MsgBox("学号不能为空!")
            number.Focus()
        ElseIf rkk.Checked = False And rzt.Checked = False And rqj.Checked = False Then
            MsgBox("请选择要添加的类型!")
        Else
            Dim fd() As String = {number.Text}
            Dim rd As DataRow = DataSet11.kq.Rows.Find(fd)
            Dim kk, zt, qj As String
            If rd Is Nothing Then
                tkk.Text = ""
                tzt.Text = ""
                tqj.Text = ""
                OleDbConnection1.Open()
                If rkk.Checked Then
                    kk = 1
                    zt = 0
                    qj = 0
                    OleDbCommand1.CommandText = String.Format("INSERT INTO kq(number,kk,zt,qj) VALUES('{0}','{1}','{2}','{3}')", number.Text, kk, zt, qj)
                ElseIf rzt.Checked Then
                    kk = 0
                    zt = 1
                    qj = 0
                    OleDbCommand1.CommandText = String.Format("INSERT INTO kq(number,kk,zt,qj) VALUES('{0}','{1}','{2}','{3}')", number.Text, kk, zt, qj)
                Else
                    kk = 0
                    zt = 0
                    qj = 1
                    OleDbCommand1.CommandText = String.Format("INSERT INTO kq(number,kk,zt,qj) VALUES('{0}','{1}','{2}','{3}')", number.Text, kk, zt, qj)
                End If
                Try
                    OleDbCommand1.ExecuteNonQuery()
                    MsgBox("添加成功!")
                Catch ex As Exception
                    MsgBox(ex.Message)
                End Try
                OleDbConnection1.Close()
            Else
                MsgBox("该记录已存在,请在右边修改!")
                tkk.Text = rd("kk")
                tzt.Text = rd("zt")
                tqj.Text = rd("qj")
            End If
        End If

TOP

format那里出问题了,你跟踪它看看,看获得的结果是什么。

TOP

错在那啊,能否说明白点,我上次做练习时不会出错啊,怎么这次就出错了,很奇怪,请高手帮帮忙!!~~

TOP

我改成这样还是出错,为什么啊?
OleDbCommand1.CommandText = "INSERT INTO kq(number,kk,zt,qj) VALUES('number.Text','kk','zt','qj')"

TOP

检查各个字段对应的值是否类型一致。

TOP

插入的我已经解决了,现在是删除出问题了 ,代码如下:
If MsgBox("确定要删除?", MsgBoxStyle.OKCancel, "提示") = MsgBoxResult.OK Then
            OleDbConnection1.Open()
            OleDbCommand1.CommandText = "delete kq where number='" & Trim(tj.Text) & "'"
            Try
                OleDbCommand1.ExecuteNonQuery()
                MsgBox("删除成功!")
                OleDbDataAdapter1.Fill(DataSet11)
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
            OleDbConnection1.Close()
        End If
提示:语法错误(操作符丢失)在查询表达式‘kq where number='603033' ‘中
请高手指点,谢谢啦!~~``

TOP

语法错误,delete语句应该有from {tabel} 。
猜测你的kq应该是一个表名,所以写法应该如下:
delete * from kq where number=' " & Trim(tj.Text) & "'"

注意number字段的类型,如果是数字类型则需要转换,且不能用单引号。
" number=" cint(trim(tj.text))

TOP

可以啦,谢谢了!``

TOP

发新话题