cn.Open();
SqlCommand cmd=new SqlCommand("usp_queryInfo",cn);
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.Add("@condition",SqlDbType.Char,10);
cmd.Parameters.Add("@value",SqlDbType.Char,10);
cmd.Parameters["@condition"].Value=ddlInfo.SelectedValue;
cmd.Parameters["@value"].Value=tbSearchValue.Text;
SqlDataReader dr=cmd.ExecuteReader();
DataGrid1.DataSource=dr;
DataGrid1.DataBind();
SqlCommand cmd=new SqlCommand("usp_queryInfo",cn);
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.Add("@condition",SqlDbType.Char,10);
cmd.Parameters.Add("@value",SqlDbType.Char,10);
cmd.Parameters["@condition"].Value=ddlInfo.SelectedValue;
cmd.Parameters["@value"].Value=tbSearchValue.Text;
SqlDataReader dr=cmd.ExecuteReader();
DataGrid1.DataSource=dr;
DataGrid1.DataBind();
{
//为什么程序不执行该语句????
Label3.Text=dr.getstring(0);
}
这样对了,
这句 不对了
字段条件不能以参数形式传递
CREATE PROCEDURE usp_queryInfo
(
@condition char(10)
@value char(10)
)
AS
declare @aa Nvarchar(100)
set @aa='select * from employeedata where '+ @condition + '=' +@value
exec (@aa)
go
condition是字段名???
列名 '女' 无效。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 列名 '女' 无效。源错误:
行 98: cmd.Parameters["@condition"].Value=ddlInfo.SelectedValue.ToString().Trim();
行 99: cmd.Parameters["@value"].Value=tbSearchValue.Text;
行 100: SqlDataReader dr=cmd.ExecuteReader();
行 101: dgEmployeeInfo.DataSource=dr;
行 102: dgEmployeeInfo.DataBind();===========================================
我感觉好象是条件和值搞反了,怎么回事??
请高手继续关注!