sql语句带参数
⑴ sql语句加参数
你需要了解sql语句的拼接和一般字符串的拼接的异同.
例如:在sql脚本语句中,字符串用单引号'',这些在C#语句中拼接"sql语句"字符串时需要注意.
你可以在vs.net中写一个用字符串拼接的sql语句,最后把它赋值给一个字符串对象.然后用断点调试区查看生成的sql语句的结果,一般sql语句较长,验证的方式都是把这段sql语句到sql sever的脚本文件(.sql)中去执行一下,就知道是否正确了.当然也有先在sql server 中调试好拼接字符串后再到程序代码中去修改的.具体方式不定.
(以上是介绍的拼接sql语句方法,不过这种方式的安全性不高,常见的sql注入式攻击就是利用的拼接sql语句的缺陷.)
你还可以考虑使用带参数的存储过程来实现,这个就需要了解存储过程的一些知识了,具体的方法我就不介绍了,关于带参数的存储过程,网上有很多例子参考.
⑵ 那位能介绍一下SQL语句中的参数
看个简单的例子
DECLARE @N INT ,@I INT
--定义参数
SET @N=1
SET @I=0
--给参数赋值
WHILE @N<=100
BEGIN
SET @I=@I+@N
SET @N=@N+1
END
PRINT @I
--执行SQL语句,从1加到100
⑶ sql语句查询条件如何加入参数
declare @id int ;
select * from table where ID=@ID
⑷ ado.net里面如何执行带有参数的sql语句。。
建立Command 对象
SqlCommand cmd = new SqlCommand(sqlInsert, conn);//conn为连接对象
string sqlInsert = "insert into friendSiteInfo (SiteName,LinkUrl,LinkMan,Tel,Email)";
sqlInsert += "values(@SiteName,@LinkUrl,@LinkMan,@Tel,@Email)";
SqlParameter[] parameters = new SqlParameter[5];
parameters[0] = new SqlParameter("@SiteName", txtSiteName.Text);
parameters[1] = new SqlParameter("@LinkUrl", txtLinkurl.Text);
parameters[2] = new SqlParameter("@LinkMan",txtLinkman.Text);
parameters[3] = new SqlParameter("@Tel",txtTel.Text);
parameters[4] = new SqlParameter("@Email",txtEmail.Text);
foreach(SqlParameter par in parameters)
{
cmd.Parameters.Add(par);
}
cmd.ExecuteNonQuery();
这样应该没问题。