存储过程:
CREATE PROCEDURE [dbo].[Sum_Select_data] @TableName char,@SelectWhere char,@SumSelect int outputAS
Declare @Table varchar(50)
Declare @Select varchar(50)
Declare @Sum intBEGIN
SET NOCOUNT ON
Set @Table = @TableName
Set @Select = @SelectWhere
Execute ('SELECT count(*) from '+@Table+' where '+@Select)
ENDC#代码:SqlConnection SqlConn = new SqlConnection("server=.;DataBase=db;uid=sa;pwd=");
SqlCommand SqlComm = new SqlCommand("Sum_Select_data", SqlConn);
SqlComm.CommandType = CommandType.StoredProcedure; SqlComm.Parameters.Add(new SqlParameter("@TableName","pt_customer"));
SqlComm.Parameters.Add(new SqlParameter ("@SelectWhere","pt_id < 100"));
SqlComm.Parameters.Add(new SqlParameter("@SumSelect", "")).Direction = ParameterDirection.Output;
SqlConn.Open();
SqlComm.ExecuteNonQuery();
int SunNumber = int.Parse(SqlComm.Parameters["@SunSelect"].Value.ToString ());
Response.Write(SunNumber);
SqlConn.Close();
错误信息:
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------在应使用条件的上下文(在 'p' 附近)中指定了非布尔类型的表达式。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 在应使用条件的上下文(在 'p' 附近)中指定了非布尔类型的表达式。源错误:
行 23: SqlComm.Parameters.Add(new SqlParameter("@SumSelect", "")).Direction = ParameterDirection.Output; //设置接收参数
行 24: SqlConn.Open();
行 25: SqlComm.ExecuteNonQuery();
行 26: int SunNumber = int.Parse(SqlComm.Parameters["@SunSelect"].Value.ToString ());
行 27: Response.Write(SunNumber);
源文件: F:\资料\fong\Source\TestProject\GridViewTest\Default.aspx.cs 行: 25
测试的时候出现了上面显示的错误信息,大家帮忙看看是什么原因?谢谢!!
CREATE PROCEDURE [dbo].[Sum_Select_data] @TableName char,@SelectWhere char,@SumSelect int outputAS
Declare @Table varchar(50)
Declare @Select varchar(50)
Declare @Sum intBEGIN
SET NOCOUNT ON
Set @Table = @TableName
Set @Select = @SelectWhere
Execute ('SELECT count(*) from '+@Table+' where '+@Select)
ENDC#代码:SqlConnection SqlConn = new SqlConnection("server=.;DataBase=db;uid=sa;pwd=");
SqlCommand SqlComm = new SqlCommand("Sum_Select_data", SqlConn);
SqlComm.CommandType = CommandType.StoredProcedure; SqlComm.Parameters.Add(new SqlParameter("@TableName","pt_customer"));
SqlComm.Parameters.Add(new SqlParameter ("@SelectWhere","pt_id < 100"));
SqlComm.Parameters.Add(new SqlParameter("@SumSelect", "")).Direction = ParameterDirection.Output;
SqlConn.Open();
SqlComm.ExecuteNonQuery();
int SunNumber = int.Parse(SqlComm.Parameters["@SunSelect"].Value.ToString ());
Response.Write(SunNumber);
SqlConn.Close();
错误信息:
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------在应使用条件的上下文(在 'p' 附近)中指定了非布尔类型的表达式。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 在应使用条件的上下文(在 'p' 附近)中指定了非布尔类型的表达式。源错误:
行 23: SqlComm.Parameters.Add(new SqlParameter("@SumSelect", "")).Direction = ParameterDirection.Output; //设置接收参数
行 24: SqlConn.Open();
行 25: SqlComm.ExecuteNonQuery();
行 26: int SunNumber = int.Parse(SqlComm.Parameters["@SunSelect"].Value.ToString ());
行 27: Response.Write(SunNumber);
源文件: F:\资料\fong\Source\TestProject\GridViewTest\Default.aspx.cs 行: 25
测试的时候出现了上面显示的错误信息,大家帮忙看看是什么原因?谢谢!!
解决方案 »
- 关于Form.designer.cs,Program.cs,Form1.cs这三个文件
- 怎么让程序最小化后只在任务栏的时间那里出现啊?
- 参数化查询参数可能为空咋办咛
- ReportDocument report =new ReportDocument(); 需要添加什么样的类?
- 未将对象引入实例
- server.transfer 问题
- [求教]-關於winfrom下cbobox數據綁定
- 怎样编程实现panel控件的滚动
- C#调用C++dll函数出现“尝试读取或写入受保护的内存”
- 向大家请教:哪一种mailServer最好,邮箱用户上限可以达到20万以上?我公司想购买。
- 跪求一个C#问题
- 来者有分,agsxmpp到底怎样?到底适不适合用来在C#中做通迅?
print 'SELECT count(*) from '+@Table+' where '+@Select
你的@Select参数不是表达式。你可以调试一下,看看你传的这个参数值是不是表达式