Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SQL语句中使用VB变量_Sql_Vb6 - Fatal编程技术网

在SQL语句中使用VB变量

在SQL语句中使用VB变量,sql,vb6,Sql,Vb6,我正在尝试创建sql语句,但我需要使用VB变量。问题是,当我尝试将变量放入时,我总是会遇到参数太少的错误。是否需要使用某种格式将VB变量添加到SQL语句中 Set rs = CurrentDb.OpenRecordset("SELECT StartTime " & _ "FROM tblLunchTime " & _ "WHERE TimeID = (SELECT max(TimeID-count) FROM tblLunchTim

我正在尝试创建sql语句,但我需要使用VB变量。问题是,当我尝试将变量放入时,我总是会遇到参数太少的错误。是否需要使用某种格式将VB变量添加到SQL语句中

Set rs = CurrentDb.OpenRecordset("SELECT StartTime " & _
            "FROM tblLunchTime " & _
            "WHERE TimeID = (SELECT max(TimeID-count) FROM tblLunchTime);")

这种情况下的变量是“count”。

按如下方式连接变量:

Set rs = CurrentDb.OpenRecordset("SELECT StartTime " & _
            "FROM tblLunchTime " & _
            "WHERE TimeID = (SELECT max(TimeID-" & count & ") FROM tblLunchTime);")

嗯。。。像您希望的那样使用非参数化sql通常是一个非常糟糕的主意。关于如何参数化sql查询或如何使用VB(6和.NET)的存储过程,有很多介绍。

您需要连接它:

Set rs = CurrentDb.OpenRecordset("SELECT StartTime " & _
            "FROM tblLunchTime " & _
            "WHERE TimeID = (SELECT max(TimeID-" & count & ") FROM tblLunchTime);")

放松一点。VB是打字的。如何在int中注入SQL?这可能是其他地方重复的模式,带有字符串。