以下是部分代码,其中Session和其他变量都是已定义过的,而且我的错误和Session、变量无关:代码的作用是分页:string cmdStr = "Select Top @RecordOfPage * From Customer Where CustomerID Not In (Select Top @NotInRecordCount CustomerID From Customer Order By CustomerID) Order By CustomerID";
SqlCommand cmd = new SqlCommand(cmdStr,new SqlConnection(connStr));
SqlParameter parameter = new SqlParameter("@RecordOfPage", SqlDbType.Int);
parameter.Direction = ParameterDirection.Input;
parameter.Value = (int)Session["RecordOfPage"];
cmd.Parameters.Add(parameter);
parameter = new SqlParameter("@NotInRecordCount", SqlDbType.Int);
parameter.Direction = ParameterDirection.Input;
parameter.Value = (int)Session["RecordOfPage"] * ((int)Session["CurrentPage"] - 1);
cmd.Parameters.Add(parameter); DataTable dt = new DataTable();
SqlDataAdapter adp = null;
try
{
cmd.Connection.Open();
adp = new SqlDataAdapter(cmd);
adp.Fill(dt); /////////这句异常:"@RecordOfPage附近错误,@NotInRecordCount附近错误"
Repeater1.DataSource = dt;
Repeater1.DataBind();
}
catch
{
Response.Write(@"<script language=javascript>alert('发生错误!')</script>");
}
finally
{
}
我将cmdStr定义改为直接拼接字符串后就好了,不知为何?
以下是直接拼接字符串后的代码:
string cmdStr = "Select Top 10 * From Customer Where CustomerID Not In (Select Top 10 CustomerID From Customer Order By CustomerID) Order By CustomerID";
SqlCommand cmd = new SqlCommand(cmdStr,new SqlConnection(connStr));
SqlParameter parameter = new SqlParameter("@RecordOfPage", SqlDbType.Int);
parameter.Direction = ParameterDirection.Input;
parameter.Value = (int)Session["RecordOfPage"];
cmd.Parameters.Add(parameter);
parameter = new SqlParameter("@NotInRecordCount", SqlDbType.Int);
parameter.Direction = ParameterDirection.Input;
parameter.Value = (int)Session["RecordOfPage"] * ((int)Session["CurrentPage"] - 1);
cmd.Parameters.Add(parameter); DataTable dt = new DataTable();
SqlDataAdapter adp = null;
try
{
cmd.Connection.Open();
adp = new SqlDataAdapter(cmd);
adp.Fill(dt); /////////这句异常:"@RecordOfPage附近错误,@NotInRecordCount附近错误"
Repeater1.DataSource = dt;
Repeater1.DataBind();
}
catch
{
Response.Write(@"<script language=javascript>alert('发生错误!')</script>");
}
finally
{
}
我将cmdStr定义改为直接拼接字符串后就好了,不知为何?
以下是直接拼接字符串后的代码:
string cmdStr = "Select Top 10 * From Customer Where CustomerID Not In (Select Top 10 CustomerID From Customer Order By CustomerID) Order By CustomerID";
解决方案 »
- 如何通过JS动态获取用户控件里控件的ID
- 我要做一个新闻收集的功能,怎么做啊?
- 用js怎么设置单元格的边框?
- 怎样让含有DataGrid的网页,点击DataGrid中的链接打开一个新网页,原网页不消失?
- 想学asp.net,可找来找去就是没有vs2005下载,哪位有发给我一个啊
- 关于查询数据库的问题
- 为什么insert into 会同时插入两条一样的记录?
- Reflector使用方法
- 各位大侠推荐几本好书吧,电子版或纸媒体的都行,要入门实级且用
- 【关于利用HttpWebRequest和HttpWebResponse自动登录一个网站】
- 网站经常出现这个错误,是什么原因?
- 问一个有关.NET用户的问题
n 不能使用参数