当前位置:编程学习 > C#/ASP.NET >>

ado.net的sql语句问题

java中:
pstmt=con.prepareStatement("select * from users where age=?");
sql语句如果带参数的话可以以?替代占一个位置.然后再可以设置一下?的值
pstmt.setObject(1,"11");
请问ado.net中如何能像这样设置参数? --------------------编程问答-------------------- 可以的 例如: SqlCommand cm = new SqlCommand("select votedetialid,voteitem from votedetail where voteid=" + this.voteids, con);
this.voteids为你要设置的参数 --------------------编程问答-------------------- 你可以拼接你的SQL或者用存储过程 --------------------编程问答-------------------- select votedetialid,voteitem from votedetail where voteid=" + this. Textbox1.Text,
或用sqlParameter
SqlParameter[] parameters = new SqlParameter[] 

SqlParameter("@itemName",SqlDbType.Varchar, 50 ) 

Parameters[0].Value = ""; 
--------------------编程问答-------------------- 学习下、、 --------------------编程问答-------------------- 用SqlParameter, 否着sql can't effectively cache the statement and your system will be vulnerable to sql injection. --------------------编程问答-------------------- 是可以的,你用拼接方式,就好像我们最简单的cout操作

int op=4;
cout<< "你输出的是" + op.ToString();

但是,你要注意了,在数据库操作中,如果有"age=?"改为"age='" + ageFunction + "'",要有单引号,不然会出错的 --------------------编程问答-------------------- 路过。学习歇息。。 --------------------编程问答--------------------
引用 3 楼 wuyq11 的回复:
select votedetialid,voteitem from votedetail where voteid=" + this. Textbox1.Text, 
或用sqlParameter 
SqlParameter[] parameters = new SqlParameter[] 

SqlParameter("@itemName",SqlDbType.Varchar, 50 ) 

Parameters[0].Value = ""; 


正解 --------------------编程问答--------------------

            SqlCommand cmd = new SqlCommand("select * from table where id=@a",conn);
            cmd.Parameters.Add("@a", SqlDbType.Int, 2).Value = 10;
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,