请教ADO.NET中SqlParameter类的用法
SqlParameter类:http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlparameter.aspxSqlParameter类到底是怎么用的啊,百度,也没有好的答案
我觉得最好的讲解就是给我举个简单的例子 --------------------编程问答-------------------- string sql = "delete from [TodoMatter] where [ID]=@ID";
SqlParameter[] sp = new SqlParameter[]
{
new SqlParameter("@ID",ID)
};
return DBHelper.ExecuteNonQuery(this.connection, CommandType.Text, sql, sp); --------------------编程问答-------------------- 简单的例子嘛:
--------------------编程问答-------------------- 还是不是很明白 --------------------编程问答-------------------- 有人知道吗???? --------------------编程问答-------------------- Cmd.CommandText="delete from table where ID=@I"
int Id =1;
string Name="lui";
cmd.CommandText="insert into TUserLogin values(@Id,@Name)";
//上条语句中直接在sql语句中写添加的参数名,不论参数类型都是如此.
SqlParameter para=new SqlParameter("@Id",SqlDbType.int,4);//生成一个名字为@Id的参数,必须以@开头表示是添加的参数,并设置其类型长度,类型长度与数据库中对应字段相同
para.Value=Id;//给参数赋值
cmd.Parameters.Add(para);//必须把参数变量添加到命令对象中去。
//以下类似
para=new SqlParameter("@Name",SqlDbType.VarChar,16);
para.Value=Name;
com.Parameters.Add(para);
SqlParameter("@I",s)
这句可以这么理解,用你程序中变量s(可以是其它任何变量名)的值,在SQL语句被执行的时候替换@I这个字符串。比如现在这个时候s是3,则SQL语句就变成
delete from table where ID=3 --------------------编程问答-------------------- 1,2的例子都可以。
当然用执行CommandText中的sql语句,可以用拼接字符串的方法。
但是如果盗用Stored Procedure,就不能用拼接字符串了,只能用SqlParameter 了。 --------------------编程问答-------------------- 就是一种方法
在程序里,
1.你可以拼SQL串 select * from userinfo where userId = 你传过来的userId
2.也可以用参数的形式(SqlParameter ),
select * from userinfo where userId = @user;
SqlParameter para=new SqlParameter("@user",SqlDbType.int,4);
para.Value=Id;
cmd.Parameters.Add(para); --------------------编程问答-------------------- 有没有朋友能帮忙写一段稍微完整点的代码,百度了,也不知道
补充:.NET技术 , C#