请问,这样对不对呢(我用得不是存储过程) 
string sql = "insert into Users values(@Login,@Password); 
SqlParameter[] param = new SqlParameter[] 

  new SqlParameter("@Login",SqlDbType.varchar), 
  new SqlParameTer("@Password",SqlDbType.varchar) 
}; 
param[0]="admin"; 
param[1]="admin"; 然后把sql和param作为两个参数传递给DBHelper类中ExecuteReader方法来操作数据库 
ExecuteReader方法如下: 
public static SqlDataReader ExecuteReader(string sql, param SqlParamter[] param) 

  SqlDataReader sdr = null; 
  try 
  { 
    SqlCommand cmd = new SqlCommand(sql,DBHelper.Connect); 
    cmd.Parameters.Add(param); 
    sdr = cmd.ExecuteReader() 
  } 
  catch(Exception ex) 
  { 
    throw new Exception(ex.message) 
  } 
  return sdr; 
}如果我这样做得不对,那应该如何做成类似的呢(是为了防止Sql注入)
谢谢各位前辈了...

解决方案 »

  1.   

    没问题啊,注意SqlCommand用完后要马上释放
      

  2.   

    这位老兄水平一定很高了,一定有能力做兼职吧。不做也要收藏好,免得以后想做时找不到。
    想做兼职吗?请来任务中国看看
    http://www.taskcn.com/?r=1808391
      

  3.   

      try 
      { 
        using (SqlCommand cmd = new SqlCommand(sql,DBHelper.Connect))
    {
        cmd.Parameters.Add(param); 
        sdr = cmd.ExecuteReader() ;
    }
      } 
      catch(Exception ex) 
      { 
        throw new Exception(ex.message) 
      }