关于SQL查询(更新记录)

时间:2015-11-30 00:11:06

标签: mysql sql vb.net vba

我有一个计划,可以满足员工的休假申请。到目前为止,除了这段代码之外,一切都运行得很顺利:

cmd.CommandText = "UPDATE tblEmployee " & _
                        " SET EMP_PATERNITYCRED=" & Me.txtNumDays.Text & _
                        ", EMP_LOGINDT='" & Me.dateToday.Value.Date & "'" & _
                        ", [Reason for Leave]='" & Me.txtReason.Text & "'" & _
                        " WHERE EMP_LNAME=" & lblLastName.Text
            cmd.ExecuteNonQuery()

此代码块的目的是更新数据库的tblEmployee中的记录,并列出以下列。该错误指向cmd.ExecuteNonQuery(),并显示No value given for one or more required parameters

我个人认为它是名为Reason for Leave的列,因为它有空格而不是下划线。你觉得怎么样?

感谢那些能帮助我的人!

2 个答案:

答案 0 :(得分:0)

你试过反引号吗?

ssh2_exec($connection, 'exit');

我很惊讶[]在mysql中不起作用。

答案 1 :(得分:0)

为了您自己的理智,请使用String.Format()函数:

Dim sql As String = "UPDATE tblEmployee SET EMP_PATERNITYCRED = {0}, EMP_LOGINDT = '{1}', [Reason for Leave] = '{2}' WHERE EMP_LNAME = '{3}'"

sql = String.Format(sql, Me.txtNumDays.Text, Me.dateToday.Value.Date, Me.txtReason.Text, lblLastName.Text)
cmd.CommandText = sql
cmd.ExecuteNonQuery()

这会使OP中缺少的单引号明显。