数据库where语句中可以用变量吗?如下

SQL="SELECTDataTime,DataValueFROMDataTableWHEREIndexBETWEENlastIndexANDfirstIndex“其中l... SQL = "SELECT DataTime,DataValue FROM DataTable WHERE Index BETWEEN lastIndex AND firstIndex“

其中lastindex和firstindex是可变的,根据检索范围改变,这样可以吗?如果不可以应该怎么实现
展开
 我来答
匿名用户
2013-04-09
展开全部
不知道你是用什么语言, 什么数据库了。

假设是 C# + SQL Server 的话.

SQL = "SELECT DataTime,DataValue FROM DataTable WHERE Index BETWEEN @lastIndex AND @firstIndex“

然后执行 SQL 语句的时候, 定义好本次执行 SQL , 需要传入的参数, 就可以了。
也就是 @lastIndex 与 @firstIndex 参数的数据类型, 与数据的数值都是多少。
追问
我的意思是lastindex是Int32的变量,如果直接写在sql里面就报错了,你的意思是@lastindex就表示它具体的值了吗?
是用c# Access
追答
Access 的话,
SQL 语句要这么写:

SQL = "SELECT DataTime,DataValue FROM DataTable WHERE Index BETWEEN ? AND ?“

// 创建一个 Command.
OleDbCommand cmd = conn.CreateCommand();

// 定义需要执行的SQL语句.
cmd.CommandText = SQL;

// 定义要查询的参数.
// 注意:Access 与 Oracle/SQL Server 不同,
// Access 的SQL中的查询的参数,无法命名。只能用 ? 来表明这是外部传入的参数.
// 因此,参数只能按照 SQL 中 ? 的顺序,进行添加.
cmd.Parameters.Add(new OleDbParameter("?", C# 里面的变量1));
cmd.Parameters.Add(new OleDbParameter("?", C# 里面的变量2));

// 然后就执行了......
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式