Parameter 对象代表与基于参数化查询或存储过程的 Command 对象相关联的参数或自变量.在参数化查询时。使用Parameter对象还有利于防止注入。
Parameter 对象属性与方法:
Name 属性可设置或返回参数名称;
Value 属性可设置或返回参数值;
Attributes 和 Direction、Precision、NumericScale、Size 以及 Type 属性可设置或返回参数特性;
AppendChunk 方法可将长整型二进制或字符数据传递给参数

Command对象操作Parameter对象代码:

  1. //定义SQL查询语句
  2.  string queryString = "Select au_id,au_fname,au_lname,state from authors where state=@state";
  3. //创建并设置SqlCommand
  4. SqlCommand dbCommand = new SqlCommand();
  5. dbCommand.Connection = dbConnection;
  6. dbCommand.CommandType = CommandType.Text;
  7. dbCommand.CommandText = queryString;
  8. //设置参数@state
  9. SqlParameter dbParameter_state = new SqlParameter();
  10. dbParameter_state.ParameterName = "@state";
  11. dbParameter_state.Value = state;
  12. dbParameter_state.DbType = DbType.StringFixedLength;
  13. //向SqlCommmand中添加@state
  14. dbCommand.Parameters.Add(dbParameter_state);


Command对象操作Parameter对象简写代码:

  1. //Add() 方法, 4个参数
  2. dbCommand.Parameters.Add("@state", DbType.String, 50, state);
  3. //Add() 方法, 4个参数
  4. dbCommand.Parameters.Add("@state", state);
  5. //AddWithValue() 方法, 2个参数
  6. dbCommand.Parameters.AddWithValue("@state", state);

Add(), AddWithValue() 两个方法相比较Add()方法的效率更高些。
原因在于Add()可以有四个参数。其中有一个参数是设置参数的类型,因此程序就不用再判断参数的类型。而AddWithValue()方法则要判断参数类型

posted on 2009-12-25 16:10  synge  阅读(1995)  评论(0编辑  收藏  举报