sql语句传参数
‘壹’ sql语句加参数
你需要了解sql语句的拼接和一般字符串的拼接的异同.
例如:在sql脚本语句中,字符串用单引号'',这些在C#语句中拼接"sql语句"字符串时需要注意.
你可以在vs.net中写一个用字符串拼接的sql语句,最后把它赋值给一个字符串对象.然后用断点调试区查看生成的sql语句的结果,一般sql语句较长,验证的方式都是把这段sql语句到sql sever的脚本文件(.sql)中去执行一下,就知道是否正确了.当然也有先在sql server 中调试好拼接字符串后再到程序代码中去修改的.具体方式不定.
(以上是介绍的拼接sql语句方法,不过这种方式的安全性不高,常见的sql注入式攻击就是利用的拼接sql语句的缺陷.)
你还可以考虑使用带参数的存储过程来实现,这个就需要了解存储过程的一些知识了,具体的方法我就不介绍了,关于带参数的存储过程,网上有很多例子参考.
‘贰’ 请问在java中怎么向sql语句传参数啊
你连数据库是通过JDBC连接的吗,有个参数可以传递过去的
PreparedStatement
ps
=null;ResultSet
rs
=null;try{
ps
=
conn.prepareStatement("SELECT
*
FROM
table
WHERE
name
=
?");
ps.setString(1,
"hello");
这个“?”相当于占位符,setString(1,
"hello");就是要传递的参数。
‘叁’ 请问在java中怎么向sql语句传参数啊
你连数据库是通过JDBC连接的吗,有个参数可以传递过去的
PreparedStatement ps =null;ResultSet rs =null;try{
ps = conn.prepareStatement("SELECT * FROM table
WHERE name = ?");
ps.setString(1, "hello");
这个“?”相当于占位符,setString(1, "hello");就是要传递的参数。
‘肆’ sql语句中使用关键字in,该如何传递参数
请将参数拼接到sql脚本中,不然你直接的结果不是你想要的哦!
例:
declare@avarchar(100)
set@a='34,12,335'
declare@sqlvarchar(max)
set@sql='select*fromtableNamewherekeyIdin('+@a+')'
print(@sql)
exec(@sql)
请试一试,如有疑问,及时沟通!
‘伍’ SSH项目中执行大量Sql语句以及传参数的疑问该如何解决
SQL code select * into testOutput.dbo.UserInfo from testOutput2.dbo.UserInfo where testOutput2.dbo.UserInfo.id=1; select * into testOutput.dbo.unitInfo from testOutput2.dbo.unitInfo where testOutput2.dbo.unitInfo.userId=1; select * into testOutput.dbo.userGroup from testOutput2.dbo.userGroup where testOutput2.dbo.userGroup.userId=1 项目采用Struts2.2.3 Hibernate 3.6.1 Spring 3.1.1 项目中有如上需求 需要导出用户的数据 上面的SQL 语句能成功执行,达到了项目的需求。 但是,现在问题来了。 1.用户可能不懂SQL 语句,用户只需要页面上点击一个按钮即可。 这时候就要求需要做到程序中了。 我的要求是: SQL 语句中有个userId 参数,这个参数 我希望从程序中得到。例如这个userId 我会存 入session 中。 2.上述SQL 语句会很多很多,25 组吧~,一组就是针对一张表的查询。 ------解决方案-------------------------------------------------------- 当用户点击按钮的时候,你就保存按钮那时的userid ,再传入后台执行。 因为你是把userid 保存到session 的,就证明此时访问的用户为登录用户。 第二就没办法了,感觉是用老办法,一个一个执行 粗浅见解,不对之处,望请见谅。 ------解决方案-------------------------------------------------------- 23 租sql 全放在存储过程中执行,应该是最高效的。 ------解决方案-------------------------------------------------------- 给分啊 !!不用答了,,这么简单可以试试bat 文件~