日期:2014-05-17  浏览次数:20441 次

SqlParameterCollection 只接受非空的 SqlParameter 类型对象。 参数名: value
我是个菜鸟,请各位大哥帮帮忙帮我看看,小妹不胜感激
代码:


/// <summary>
/// DBOperate 的摘要说明
/// </summary>
public class DBOperate
{
public DBOperate()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
  private SqlConnection conn=null;
  private SqlCommand cmd=null;
  private SqlDataReader dr = null;
  private SqlDataAdapter adp = null;
  private DataSet ds = null;
  private DataTable dt = null;

  //connect db
  public SqlConnection DBConnection()
  {
  conn = new SqlConnection(ConfigurationManager.ConnectionStrings["BookShopConnectionString"].ConnectionString);
  return conn;
  }
  //close db , dispose resources
  public void DBClose()
  {
  if (conn.State == ConnectionState.Open)
  {
  conn.Close();
  conn.Dispose();
  }
  }
  //create command
  public SqlCommand createCommand(string str, CommandType cmdType)
  {
  cmd = new SqlCommand();
  cmd.Connection = DBConnection();
  cmd.CommandText = str;
  cmd.CommandType = cmdType;
  return cmd;
  }
  //create command with sqlParameters
  public SqlCommand createCommand(string str, CommandType cmdType, SqlParameter[] param)
  {
  cmd = new SqlCommand();
  cmd.Connection = DBConnection();
  cmd.CommandText = str;
  cmd.CommandType = cmdType;
  foreach (SqlParameter par in param)
  {
  cmd.Parameters.Add(par);
  }
  return cmd;
  }
  //execute dataReader
  public SqlDataReader executeReader(string str, CommandType cmdType)
  {
  conn = DBConnection();
  try
  {
  conn.Open();
  cmd = createCommand(str, cmdType);
  dr = cmd.ExecuteReader(CommandBehavior.CloseConnection); //if transfers dr.Close(), then will also transfer conn.Close()
  }
  catch (Exception ee)
  {
  throw ee;
  }
  return dr;
  }
  //execute dataReader with sqlParameters
  public SqlDataReader executeReader(string str, CommandType cmdType, SqlParameter [] param)
  {
  conn = DBConnection();
  try
  {
  conn.Open();
  cmd = createCommand(str, cmdType, param);
  dr = cmd.ExecuteReader(CommandBehavior.CloseConnection); //if transfers dr.Close(), then will also transfer conn.Close()
  }
  catch (Exception ee)
  {
  throw ee;
  }
  return dr;
  }
  //execute dataSet
  public DataSet executeDataSet(string str, CommandType cmdType)
  {
  conn = DBConnection();
  try
  {
  conn.Open();
  cmd = createCommand(str, cmdType);
  adp = new SqlDataAdapter(cmd);
  ds = new DataSet();
  adp.Fill(ds);
  }
  catch (Exception ee)
  {