还是上面的分页语句,程序执行这段代码时出错:
一、错误信息:
指定的转换无效。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.InvalidCastException: 指定的转换无效。
源错误:
行 49:
行 50: if (dr.Read())
行 51: MyDataGrid.VirtualItemCount = (int)dr["bs"];
行 52:
行 53: dr.Close();
二、源代码:
private void Page_Load(object sender, System.EventArgs e)
{
// 设定当按下「上一页」与「下一页」按钮便执行 NavigateToPage 方法
this.btnPreviousPage.Click += new System.EventHandler(this.NavigateToPage);
this.btnNextPage.Click += new System.EventHandler(this.NavigateToPage); if (!IsPostBack)
{
StartIndex = 0;
// 以下这段程式码用来取得数据表的数据记录数目,
// 并将它指派给 DataGrid 控件的 VirtualItemCount 属性。
string sqlstring="select COUNT(*) as bs from clgl_xtdm";
OleDbCommand cmd = new OleDbCommand(sqlstring,cn);
cn.Open();
//MyDataGrid.VirtualItemCount =(int)cmd.ExecuteScalar();
OleDbDataReader dr = cmd.ExecuteReader(CommandBehavior.SingleRow);
if (dr.Read())
MyDataGrid.VirtualItemCount = (int)dr["bs"];
dr.Close();
cn.Close();
BindGridToSource(StartIndex, "上一页");
}
}
三、请问该怎么改?
一、错误信息:
指定的转换无效。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.InvalidCastException: 指定的转换无效。
源错误:
行 49:
行 50: if (dr.Read())
行 51: MyDataGrid.VirtualItemCount = (int)dr["bs"];
行 52:
行 53: dr.Close();
二、源代码:
private void Page_Load(object sender, System.EventArgs e)
{
// 设定当按下「上一页」与「下一页」按钮便执行 NavigateToPage 方法
this.btnPreviousPage.Click += new System.EventHandler(this.NavigateToPage);
this.btnNextPage.Click += new System.EventHandler(this.NavigateToPage); if (!IsPostBack)
{
StartIndex = 0;
// 以下这段程式码用来取得数据表的数据记录数目,
// 并将它指派给 DataGrid 控件的 VirtualItemCount 属性。
string sqlstring="select COUNT(*) as bs from clgl_xtdm";
OleDbCommand cmd = new OleDbCommand(sqlstring,cn);
cn.Open();
//MyDataGrid.VirtualItemCount =(int)cmd.ExecuteScalar();
OleDbDataReader dr = cmd.ExecuteReader(CommandBehavior.SingleRow);
if (dr.Read())
MyDataGrid.VirtualItemCount = (int)dr["bs"];
dr.Close();
cn.Close();
BindGridToSource(StartIndex, "上一页");
}
}
三、请问该怎么改?
解决方案 »
- membership
- 获取textarea选中内容
- try catch的时候catch中的代码有时候好像没有运行,大家有没有碰上这回事?
- Page.ClientScript.RegisterStartupScript(this.GetType(), "close", "window.close()", true);为何有的页面能关掉,有的不能?
- 弹出确认窗口点击确定后,怎么定向到我指定的页面?在线等待,结帖~~
- 用DataGrid的按纽列怎么没有反应?
- winform里面怎么对DataTable进行修改操作
- 用VS做英语朗读器
- 请问DATAGRID控件如何绑定三张表
- 数据绑定问题,..........急...........高手帮看一看,谢谢.......
- 100分求java移植.net的解决方案!!!!!!!
- 救命啊!项目上传后出现问题(按钮失效),高分求解!
2:为什么要改?理由
try
{
MyDataGrid.VirtualItemCount =convert.toint16(dr["bs"]);
}
catch
{
Mydatagrid.Virtualitemcont=0;
}
2
===========>
使用Convert,不要用int
int i=Convert.ToInt32(cmd.ExecuteScalar());
MyDataGrid.VirtualItemCount =i;
好象就可以了。
但现在有另外一个问题:
MyCommand = new OleDbCommand("SELECT TOP 10 flmc,xmmc FROM clgl_xtdm WHERE flmc> @uid ORDER BY fldh,xmmc", cn);
MyCommand.Parameters.Add("@uid", OleDbType.VarChar, 18).Value = DropDownList1.SelectedItem.Text;
这两句在数据库是sql server时没错,但数据库是Oracle时就出错了,说是找不到from关键字。估计就是在 @uid 出错,不知道这个变量该怎么写?