执行到return ds.Tables[0];语句后就转向catch了!这是为什么呀?using System;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;namespace Data
{
/// <summary>
/// Data 的摘要说明。
/// </summary>
public class Data
{
private static string constr = "provider=Microsoft.Jet.OLEDB.4.0;"+"data source=Data_WAS.mdb";
static OleDbConnection con=new OleDbConnection(constr);
public static DataTable SelectAll(string tableName)
{
string ole = "select * from "+tableName;
OleDbDataAdapter sda = new OleDbDataAdapter (ole,con);
DataSet ds = new DataSet();
try
{
sda.Fill(ds);
return ds.Tables[0];
}
catch
{
MessageBox.Show("查询的数据库不存在","查询错误");
if(con!=null)
{
if (con.State !=ConnectionState.Closed)
con.Close();
}
sda.Dispose();
return null;
}
}
}
}
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;namespace Data
{
/// <summary>
/// Data 的摘要说明。
/// </summary>
public class Data
{
private static string constr = "provider=Microsoft.Jet.OLEDB.4.0;"+"data source=Data_WAS.mdb";
static OleDbConnection con=new OleDbConnection(constr);
public static DataTable SelectAll(string tableName)
{
string ole = "select * from "+tableName;
OleDbDataAdapter sda = new OleDbDataAdapter (ole,con);
DataSet ds = new DataSet();
try
{
sda.Fill(ds);
return ds.Tables[0];
}
catch
{
MessageBox.Show("查询的数据库不存在","查询错误");
if(con!=null)
{
if (con.State !=ConnectionState.Closed)
con.Close();
}
sda.Dispose();
return null;
}
}
}
}
解决方案 »
- C#多线程与ping.exe合用,压缩ping的时间问题
- DatabindXY,集合已修改;可能无法执行枚举操作。
- oracle给xmltype字段添加数据
- 从数据库读取图片,用SqlDataReader读取精确到字符段 读的数据要转化成string类型。急等!!!! C#
- datagridview多行更新问题
- 关于vs2005中的一个com组件的用法?
- 怎样使类中的某方法只能是通过特定构造函数实现的对象来引用!
- 用dsoframer.ocx替换Word中的书签,提示 对象不支持该属性或方法
- XP下没问题的代码在win7下运行报错
- mm急,在DataTable中,如何获取按某一列的分组的记录?
- 一个刷卡的函数为什么总执行两回
- 获取图片老错误,请大家帮帮忙
Catch( Exception e )
{
MessageBox.Show( e.Message );
//........
}
这样就很清楚发生什么错误了
Catch( Exception e )
{
MessageBox.Show( e.Message );
//........
}
这样就很清楚发生什么错误了
************************************************比较可能的是没有表,或者数据库连接不可用。楼主实在应该用上面的方法看一下,提高效率避免瞎猜。