在SQL语句中使用变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在SQL语句中使用变量相关的知识,希望对你有一定的参考价值。

我用的是ODBC API进行编程
int t;
SQLCHAR sqlStatement[] = "SELECT * FROM 赛事 WHEREtemperature='31'";
// 执行SQL查询语句
m_sr = SQLExecDirect(m_hStmt,sqlStatement , SQL_NTS);
if (m_sr != SQL_SUCCESS)
AfxMessageBox("执行语句失败\n");
请问如何将里面的31用t替换
直接用字符串拼接不行,有没有其他什么方式呢

WHEREtemperature='31'"; 变成 WHEREtemperature= t 然后执行看看控制台给你打出来的SQL是什么样的 看看这个T的表示形式 缺什么哪不对就改呗 比如控制台打出来的WHEREtemperature=31 如果想要引号 拼字符串还不好说吗 自己动手多试试 参考技术A "SELECT * FROM 赛事 WHEREtemperature='"+t+"'" 参考技术B 建议用prepare statement的用法。(直接拼接字符串肯定会有安全问题)

更多信息请参考:
http://technet.microsoft.com/zh-cn/ms403274(SQL.90).aspx本回答被提问者采纳

c# sql在where查询语句中使用字符串变量与int型变量

使用where语句访问数据库时where语句用上文中以及定义过的变量来查询。

string sql3 = string.Format("update Ships set ContainerNum=‘"+list1[0].ContainerNum+"‘ where Name=‘"+list[0].ShipName+"‘");

Ships是表名  ContainerNum是表中字段名

list1[0].ContainerNum是上文的一个Int 类型变量,list[0].ShipName是上文的string类型变量

只需要在sql语句的双引号内对变量进行操作,即

(“select * from 表名  where 字段名= ‘“+ 变量名+”’    ”)

需要注意的是:‘“+ 变量名+”’  
要用两个单引号括住两个双引号

 

以上是关于在SQL语句中使用变量的主要内容,如果未能解决你的问题,请参考以下文章

C# SQL条件查询语句where中使用变量的用法

如何在 PL/SQL 中使用 select 语句为 SQL*Plus 变量赋值?

请问啥是SQL的DECLARE语句?

如何在动态 sql 语句中使用表变量?

为啥我不能在动态 SQL 的 DDL/SCL 语句中使用绑定变量?

如何从 Databricks 中的 SQL 语句输出创建变量