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