看看mdb文件是不是已经被你打开了?
解决方案 »
- winform 怎么更新控件啊?
- DataGridView 行焦点不改变的情况下提交数据
- 现在c#的数据库都用2005了吗?
- 怎么用C#实现类似酷狗2007那样的主菜单?
- 对象用XML序列化的问题,比较怪,分不多,请帮帮忙:)
- 哪能这pocket pc 就不能用C# 的好多属性和方法呢?
- >>>> Visual C# .NET 2005 Beta2 在那里打开 类设计器?????
- webservice调用 急急。在线等
- 如何在vs.net 2003中为access数据库建立存储过程?
- 关于多组件时软件版本设置问题
- 请教高手,(1)excel 导入图片的问题 (2)宏问题
- 求,在C#导入C++的DLL.
打开以后 是否 关闭了连接
this.oleDbConnection1.Close();
你可以重新启动系统看看,是否第一次访问会正常,多访问几次又出问题,
使用try catch finally
public class AccessDbHelper
{
private static string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=h2004.mdb;Persist Security Info=False;";
/// <summary>
/// 获取单个值
/// </summary>
/// <param name="strSql"></param>
/// <returns></returns>
public static object ExecuteScalar(string strSql)
{
object o = null;
OleDbConnection myConn = new OleDbConnection(strConn);
OleDbCommand myComm = new OleDbCommand(strSql,myConn);
try
{
myConn.Open();
o = myComm.ExecuteScalar();
}
catch(Exception e)
{
}
finally
{
myConn.Close();
}
return o;
}
/// <summary>
/// 更新数据
/// </summary>
/// <param name="strSql"></param>
public static int ExecuteNonQuery(string strSql)
{
int count = -1;
OleDbConnection myConn = new OleDbConnection(strConn);
OleDbCommand myComm = new OleDbCommand(strSql,myConn);
try
{
myConn.Open();
count = myComm.ExecuteNonQuery();
}
catch(Exception e)
{
}
finally
{
if(myConn.State != ConnectionState.Closed)
myConn.Close();
myConn.Dispose();
myComm.Dispose();
}
return count;
}
/// <summary>
/// 获取数据读取器
/// </summary>
/// <param name="strSql"></param>
public static OleDbDataReader ExecuteReader(string strSql)
{
OleDbConnection myConn = new OleDbConnection(strConn);
OleDbCommand myComm = new OleDbCommand(strSql,myConn);
myConn.Open();
return myComm.ExecuteReader(CommandBehavior.CloseConnection);
}
/// <summary>
/// 获取数据集
/// </summary>
/// <param name="strSql"></param>
/// <returns></returns>
public static DataSet ExecuteDataSet(string strSql)
{
DataSet ds = new DataSet();
OleDbConnection myConn = new OleDbConnection(strConn);
try
{
OleDbCommand myComm = new OleDbCommand(strSql,myConn);
OleDbDataAdapter myAda = new OleDbDataAdapter(myComm);
myAda.Fill(ds,"TableName");
}
catch(Exception e)
{
ds = null;
}
finally
{
myConn.Close();
}
return ds;
}
}