public static readonly string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["conStr"].ConnectionString;//不明白是什么意思 private static void AttachParameters(SqlCommand command, SqlParameter[] commandParameters)
{
foreach (SqlParameter p in commandParameters)
{
//check for derived output value with no value assigned
if ((p.Direction == ParameterDirection.InputOutput) && (p.Value == null))????
{
p.Value = DBNull.Value;//?????
} command.Parameters.Add(p);
}
}
后面有颜色的就看不懂了?
{
foreach (SqlParameter p in commandParameters)
{
//check for derived output value with no value assigned
if ((p.Direction == ParameterDirection.InputOutput) && (p.Value == null))????
{
p.Value = DBNull.Value;//?????
} command.Parameters.Add(p);
}
}
后面有颜色的就看不懂了?
就像存储过程有输入或输出参数一样。就是这个参数P的意思
p.Value = DBNull.Value;
DBNull嘛,就是DBNull 数据库的Null和C#里的Null显然并不是都一样。
具体的解释就是 DbNull 是指数据库中当一个字段没有被设置值的时候的值,相当于数据库中的“空值”。
//得到Web.Config文件中connectionStrings节下名为conStr的connectionString,其实就是连接字符串
//如果参数p为输入输出参数,并且p的值是null
if ((p.Direction == ParameterDirection.InputOutput) && (p.Value == null))????
{
//那么给p赋值System.DBNull.Value
p.Value = DBNull.Value;//?????
} 这里一定要搞清楚在C#中的null和数据库表里的null值不是一个概念,所以
p.Value = DBNull.Value;
相当于给sql语句中对应的参数给与数据库里的null值
//得到Web.Config文件中connectionStrings节下名为conStr的connectionString,其实就是连接字符串
只读的
//得到Web.Config文件中connectionStrings节下名为conStr的connectionString,其实就是连接字符串
//如果参数p为输入输出参数,并且p的值是null
if ((p.Direction == ParameterDirection.InputOutput) && (p.Value == null))????
{
//那么给p赋值System.DBNull.Value
p.Value = DBNull.Value;//?????
}这里一定要搞清楚在C#中的null和数据库表里的null值不是一个概念,所以
p.Value = DBNull.Value;
相当于给sql语句中对应的参数给与数据库里的null值这个就是精准答案了