62,074
社区成员
发帖
与我相关
我的任务
分享
public class OLEConnect : DBConnect
{
//数据连接类
private OleDbConnection Con;
//填充DATASET类
private OleDbDataAdapter FDataAdapter;
//执行SQL语句类
private OleDbCommand Cmd;
public OLEConnect()
{
this.Create(this.Connectionstring);
}
public OLEConnect(string AConnectionString)
{
this.Connectionstring = AConnectionString;
this.Create(this.Connectionstring);
}
private void Create(string AConnectionString)
{
Con = new OleDbConnection(AConnectionString);
}
public override bool Open()
{
try
{
if(Con.ConnectionString == "")
Con.ConnectionString = this.Connectionstring;
this.Con.Open();
return true;
}
catch (Exception)
{
//this.ErrorHint = e.Message;
throw;
}
}
public override void open(string ConnectionString)
{
throw new Exception("The method or operation is not implemented.");
}
public override void Close()
{
Con.Close();
}
private DataSet GDataSet(string AStrSQL)
{
try
{
Cmd = new OleDbCommand(AStrSQL, Con);
FDataAdapter = new OleDbDataAdapter(Cmd);
FDataSet = new DataSet();
this.FDataAdapter.Fill(this.FDataSet);
return this.FDataSet;
}
catch (Exception)
{
this.FStrErrorSQL = this.FStrSQL;
//this.FErrorHint = e.Message;
throw;
}
}
public override System.Data.DataSet GetDataSet()
{
return this.GDataSet(this.FStrSQL);
}
public override System.Data.DataSet GetDataSet(string AStrSQL)
{
return this.GDataSet(AStrSQL);
}
private DataTable GDataTable(string AStrSQL)
{
try
{
Cmd = new OleDbCommand(AStrSQL, Con);
FDataAdapter = new OleDbDataAdapter(Cmd);
FDataTalbe = new DataTable();
FDataAdapter.Fill(FDataTalbe);
return this.FDataTalbe;
}
catch (Exception)
{
this.FStrErrorSQL = AStrSQL;
//this.FErrorHint = e.Message;
throw;
}
}
public override System.Data.DataTable GetDataTalbe()
{
return this.GDataTable(this.FStrSQL);
}
public override System.Data.DataTable GetDataTable(string AStrSQL)
{
return this.GDataTable(AStrSQL);
}
public override bool ExecSQL(string AStrSQL)
{
try
{
Cmd = new OleDbCommand(AStrSQL, Con);
Cmd.ExecuteNonQuery();
//就在这个地方加了个Close就OK了! ado.net怎么会是这样子的, 语句执行一定要把Connection关掉才能数据才能完成提交, 否则会
//锁定插入的那这行!
Con.Close();
return true;
}
catch (Exception)
{
this.FStrErrorSQL = AStrSQL;
//this.FErrorHint = e.Message;
throw;
}
}
public override DataTable GetDataTable(string AStrSQL, int StartRecord, int MaxRecord)
{
try
{
Cmd = new OleDbCommand(AStrSQL, Con);
FDataAdapter = new OleDbDataAdapter(Cmd);
FDataTalbe = new DataTable();
FDataAdapter.Fill(StartRecord, MaxRecord, FDataTalbe);
return this.FDataTalbe;
}
catch (Exception)
{
this.FStrErrorSQL = AStrSQL;
throw;
}
}
}
private void Page_Load(object sender, System.EventArgs e)
{
Response.Expires=-1;
this.AbortDataBind();
}