参数化查询的SQL 指令撰写方法

 我来答
娱座座史大聊5502
2016-05-31 · TA获得超过117个赞
知道答主
回答量:167
采纳率:0%
帮助的人:54.5万
展开全部

在撰写 SQL 指令时,利用参数来代表需要填入的数值,例如: Microsoft SQL Server 的参数格式是以 @ 字符加上参数名称而成,SQL Server 亦支持匿名参数 ?。
SELECT * FROM myTable WHERE myID = @myID
INSERT INTO myTable (c1, c2, c3, c4) VALUES (@c1, @c2, @c3, @c4) Microsoft Access 不支持具名参数,只支持匿名参数 ?。
UPDATE myTable SET c1 = ?, c2 = ?, c3 = ? WHERE c4 = ? MySQL 的参数格式是以 ? 字符加上参数名称而成。
UPDATE myTable SET c1 = ?c1, c2 = ?c2, c3 = ?c3 WHERE c4 = ?c4 SqlCommand sqlcmd = new SqlCommand(INSERT INTO myTable (c1, c2, c3, c4) VALUES (@c1, @c2, @c3, @c4), sqlconn);
sqlcmd.Parameters.AddWithValue(@c1, 1); // 设定参数 @c1 的值。
sqlcmd.Parameters.AddWithValue(@c2, 2); // 设定参数 @c2 的值。
sqlcmd.Parameters.AddWithValue(@c3, 3); // 设定参数 @c3 的值。
sqlcmd.Parameters.AddWithValue(@c4, 4); // 设定参数 @c4 的值。
sqlconn.Open();
sqlcmd.ExecuteNonQuery();
sqlconn.Close(); $query = sprintf(SELECT * FROM Users where UserName='%s' and Password='%s',
mysql_real_escape_string($Username),
mysql_real_escape_string($Password));
mysql_query($query);
或是
$db = new mysqli(localhost, user, pass, database);
$stmt = $mysqli -> prepare(SELECT priv FROM testUsers WHERE username=? AND password=?);
$stmt -> bind_param(ss, $user, $pass);
$stmt -> execute(); PreparedStatement prep = conn.prepareStatement(SELECT * FROM USERS WHERE USERNAME=? AND PASSWORD=?);
prep.setString(1, username);
prep.setString(2, password); <cfquery name=Recordset1 datasource=cafetownsend>
SELECT *
FROM COMMENTS
WHERE COMMENT_ID =<cfqueryparam value=#URL.COMMENT_ID# cfsqltype=cf_sql_numeric>
</cfquery>

迈杰
2024-11-30 广告
RNA-seq数据分析是转录组研究的核心,包括数据预处理、序列比对、定量分析、差异表达分析、功能注释和可视化等步骤。数据预处理主要是质量控制和去除低质量序列。序列比对使用HISAT2、STAR等工具将reads比对到参考基因组。定量分析评估... 点击进入详情页
本回答由迈杰提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式