private void BtnSearch_Click(object sender, System.EventArgs e)
{
string Searchstr="";
SqlDataAdapter searchCmd;
DataSet searchDs;
DataTable searchTable;
DataRow searchRow;
switch(this.Cmbtype.SelectedIndex)
{
case -1:
MessageBox.Show("请先选择查询类型");
return;
break;
case 0:
if(this.TxtSearch.Text.Length==0)
{
MessageBox.Show("请输入查询条件");
return;
}
else
{
Searchstr="select * from tblbooks where BookID='"+this.TxtBookID.Text+"'";
}
break;
case 1:
if(this.TxtSearch.Text.Length==0)
{
MessageBox.Show("请输入查询条件");
return;
}
else
{
Searchstr="select * from tblbooks where BookID='"+this.TxtBookName.Text+"'";
}
break;
case 2:
Searchstr="select count(BookName) from tblbooks";
searchDs=new DataSet();
searchCmd=new SqlDataAdapter(Searchstr,con);
try
{
searchCmd.Fill(searchDs,"tblbooks");
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
searchTable=searchDs.Tables[0];
searchRow=searchTable.Rows[0];
MessageBox.Show("图书总数为:"+searchRow[0].ToString());
break;
}
一个简单的查询处理,出现异常了:
未处理的“System.IndexOutOfRangeException”类型的异常出现在 system.data.dll 中。其他信息: 无法找到表 0。
{
string Searchstr="";
SqlDataAdapter searchCmd;
DataSet searchDs;
DataTable searchTable;
DataRow searchRow;
switch(this.Cmbtype.SelectedIndex)
{
case -1:
MessageBox.Show("请先选择查询类型");
return;
break;
case 0:
if(this.TxtSearch.Text.Length==0)
{
MessageBox.Show("请输入查询条件");
return;
}
else
{
Searchstr="select * from tblbooks where BookID='"+this.TxtBookID.Text+"'";
}
break;
case 1:
if(this.TxtSearch.Text.Length==0)
{
MessageBox.Show("请输入查询条件");
return;
}
else
{
Searchstr="select * from tblbooks where BookID='"+this.TxtBookName.Text+"'";
}
break;
case 2:
Searchstr="select count(BookName) from tblbooks";
searchDs=new DataSet();
searchCmd=new SqlDataAdapter(Searchstr,con);
try
{
searchCmd.Fill(searchDs,"tblbooks");
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
searchTable=searchDs.Tables[0];
searchRow=searchTable.Rows[0];
MessageBox.Show("图书总数为:"+searchRow[0].ToString());
break;
}
一个简单的查询处理,出现异常了:
未处理的“System.IndexOutOfRangeException”类型的异常出现在 system.data.dll 中。其他信息: 无法找到表 0。
解决方案 »
- 如何删除Sqlserver数据库中存在主外键关联的两个表的数据行
- VS2005 服务器资源管理器,新建查询执行一条SQL语句结果不正确?
- windows服务程序一次只能启动一个服务的问题
- 在VC中获取要素的个数
- 求助:操作数据库时sql语句不太会,急~
- 30 求助 一个基础 面实题!
- 请求一个宏定义,vb.net里的vbcrlf(回车换行),c#里如何写?
- 如何在DataTable中实现SQL中的Distinct功能?
- socket异步连接会导致程序卡死
- 如何实现类似vc#中代码编辑器的功能,例如:可使关键字变成指定的颜色和字体,请提供例程
- 请教各位大侠,关于表格缩放的问题,谢谢啦。
- 文件读取
searchCmd.Fill(searchDs,"tblbooks");
这行代码没有取回任何表。
然后,取Tables集合的元素之前,应该判断一下有没有这个元素,
根据有无再做处理。