2010-03-02 10:38

1.问题:
StringBuilder strSql = new StringBuilder();
strSql.Append( "select * from WS_Class ");
strSql.Append( " where ClassID= @ClassID ");
SqlParameter[] parameters = {new SqlParameter( "@ClassID ", SqlDbType.Int,4)};
parameters[0].Value = ClassID;
return DbHelperSQL.Exists(strSql.ToString(), parameters);
这一句我老是看不明白
1,SqlParameter参数的作用是用来做什么的???
2,new SqlParameter( "@ClassID ", SqlDbType.Int,4)这句,@ClassID 是什么意思
3,parameters[0].Value = ClassID;这句,ClassID是数据库中的字段吗?
4,这里SqlParameter参数为什么只需定义ClassID?其他字段不需要定义吗?
回答:
1,2,3:
这里是执行存储过程,@ClassID是存储过程的参数
4:这里SqlParameter参数为什么只需定义ClassID?
应为此SP只有这个参数
1,SqlParameter参数的作用是用来做什么的???
2,new SqlParameter( "@ClassID ", SqlDbType.Int,4)这句,@ClassID 是什么意思
3,parameters[0].Value = ClassID;这句,ClassID是数据库中的字段吗?
4,这里SqlParameter参数为什么只需定义ClassID?其他字段不需要定义吗?

问题一: 这个里面的参数是你在查询时要用到的参数,就是你存储过程里要用到的条件
问题二: @ClassID存储过程里的参数
问题三: ClassID不是数据库里的字段,要传到存储过程里才是的
问题四: 因为这个存储过程里的查询语句只有一个条件
SqlParameterCollection 仅接受非空的 SqlParameter 类型对象,不接受 SqlParameter[] 对象,主要是varchar类型的字段,如果使用默认长度,但默认长度大于表中字段长度或者默认长度小于赋值变量的长度,都会截断那些多余的字符的。

相关文章:

  • 2021-09-27
  • 2022-12-23
  • 2022-01-05
  • 2022-12-23
  • 2022-12-23
  • 2021-09-17
  • 2022-12-23
猜你喜欢
  • 2021-07-05
  • 2021-07-05
  • 2022-12-23
  • 2022-02-15
  • 2022-12-23
  • 2021-11-18
  • 2021-09-30
相关资源
相似解决方案