SqlParameter类:http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlparameter.aspxSqlParameter类到底是怎么用的啊,百度,也没有好的答案我觉得最好的讲解就是给我举个简单的例子

解决方案 »

  1.   

    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);
      

  2.   

    简单的例子嘛:            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);
      

  3.   

    Cmd.CommandText="delete from table where ID=@I"
    SqlParameter("@I",s)
    这句可以这么理解,用你程序中变量s(可以是其它任何变量名)的值,在SQL语句被执行的时候替换@I这个字符串。比如现在这个时候s是3,则SQL语句就变成
    delete from table where ID=3
      

  4.   

    1,2的例子都可以。
    当然用执行CommandText中的sql语句,可以用拼接字符串的方法。但是如果盗用Stored Procedure,就不能用拼接字符串了,只能用SqlParameter  了。
      

  5.   

    就是一种方法
    在程序里,
    1.你可以拼SQL串 select * from userinfo where userId = 你传过来的userId2.也可以用参数的形式(SqlParameter  ),
    select * from userinfo where userId = @user;
     SqlParameter  para=new SqlParameter("@user",SqlDbType.int,4);
               para.Value=Id;
     cmd.Parameters.Add(para);