不包含SqlParameter.ParameterName 的定义?

来源:百度知道 编辑:UC知道 时间:2024/05/12 11:45:11
开发环境VS2005 SP1 NET2.0

想给SqlParameter对象动态定义SQL参数,但总提示我SqlParameter没有ParameterName和Value 属性?如何解决?

以下是涉及到的代码片段:

using System;
using System.Data;
using System.Data.SqlClient;

string connStr ="..."
SqlConnection conn = new SqlConnection(connStr);
string cmdstr = "select * from tb where myname=@name";
SqlCommand cmd = new SqlCommand(cmdstr, conn);
cmd.CommandType = CommandType.Text;
SqlParameter para = new SqlParameter();
//就是下面这两句出现问题,说para不包含ParameterName和Value 属性?
para.ParameterName = "@name";
para.Value = "hahahahahah";
////////////////////////////////////////////////////////////////
cmd.Parameters.Add(para);
cmd.Connection.Open();
SqlDataReader reader = cmd.ExecuteReader();
GridView.DataSource = reader;
GridView.DataBind();
cmd.Connection.Close();
..........

你漏掉了声明@name的类型,建议可以使用以下声明:
cmd.Parameters.Add("@name", SqlDbType.NVarchar, 256).Value = "hahahahahah";
或者:
SqlParameter param = new SqlParameter("@name", SqlDbType.NVarChar, 256);
param.Value = "value";
cmd.Parameters.Add(param);
注意reader用完后也要关闭。