///
/// 执行一个查询操作,并且以System.Data.IDataReader()来返回结果集
///
///
public System.Data.IDataReader ExecuteDataReader()
{
System.Data.IDataReader result=null;
this.Prepare();
try
{
result=this.m_command.ExecuteReader();
}
catch(Exception e)
{
throw new JoyBaseDBException(e.Message,e);
}
//this.m_Parameters.Clear();
return result;
}
///
/// 执行一个查询操作,并且返回一个DataTable
///
///
public System.Data.DataTable ExecuteDataTable()
{
this.Prepare();
System.Data.DataTable result=new System.Data.DataTable();
//System.Data.Common.DbDataAdapter Adapter=null;
try
{
if(Provider.Type==DBType.SqlClient)
{
System.Data.SqlClient.SqlDataAdapter Adapter=new System.Data.SqlClient.SqlDataAdapter((System.Data.SqlClient.SqlCommand)this.m_command);
//Adapter.SelectCommand=new System.Data.SqlClient.SqlCommand(,(System.Data.SqlClient.SqlConnection)Provider.getConn());//(System.Data.SqlClient.SqlCommand)this.m_command;
Adapter.Fill(result);
}
else
{
System.Data.OleDb.OleDbDataAdapter Adapter=new System.Data.OleDb.OleDbDataAdapter((System.Data.OleDb.OleDbCommand)this.m_command);
//Adapter.SelectCommand=(System.Data.OleDb.OleDbCommand)this.m_command;
Adapter.Fill(result);
}
}
catch(Exception e)
{
throw new JoyBaseDBException(e.Message,e);
}
//this.m_Parameters.Clear();
return result;
}
///
/// 返回分页的DataSet页面
///
/// DataSet中的表名
/// 需要返回的页面
///
public System.Data.DataSet ExecuteDataSet(string p_TableName,int p_CurrentPageIndex)
{
System.Data.DataSet ds=this.ExecuteDataSet();
try
{
this.m_RecordCount=ds.Tables[0].Rows.Count;
//
ds.Clear();
ds.Dispose();
if(this.m_RecordCount%this.m_PageSize==0)
{
this.m_PageCount=this.m_RecordCount/this.m_PageSize;
}
else
{
this.m_PageCount=this.m_RecordCount/this.m_PageSize+1;
}
int StartCount=(p_CurrentPageIndex-1)*this.m_PageSize;
ds=this.ExecuteDataSet(p_TableName,StartCount,this.m_PageSize);
}
catch(Exception e)
{
string reason="(1)未设置PageSize变量或者将其设为不合理数值,而直接调用了分页方法\r\n;(2)检索的页号不存在或者溢出;\r\n";
throw new JoyBaseDBException(e.Message,reason);
}
//this.m_Parameters.Clear();
return ds;
}
///
/// 执行一个查询操作,并且返回一个DataSet对象,能够执行分页操作
///
/// 起始的记录号,以0开始
/// 返回的最多的记录号
/// 返回的DataSet中包含的表的名称
///
public System.Data.DataSet ExecuteDataSet(string p_TableName,int p_StartRecord,int p_MaxRecords)
{
this.Prepare();
System.Data.DataSet result=new System.Data.DataSet();
//System.Data.Common.DbDataAdapter Adapter=null;
try
{
if(Provider.Type==DBType.SqlClient)
{
System.Data.SqlClient.SqlDataAdapter Adapter=new System.Data.SqlClient.SqlDataAdapter((System.Data.SqlClient.SqlCommand)this.m_command);
//Adapter.SelectCommand=new System.Data.SqlClient.SqlCommand("select * from orders",(System.Data.SqlClient.SqlConnection)Provider.getConn("DSN"));//(System.Data.SqlClient.SqlCommand)this.m_command;
Adapter.Fill(result,p_StartRecord,p_MaxRecords,p_TableName);
}
else
{
System.Data.OleDb.OleDbDataAdapter Adapter=new System.Data.OleDb.OleDbDataAdapter((System.Data.OleDb.OleDbCommand)this.m_command);
//Adapter.SelectCommand=(System.Data.OleDb.OleDbCommand)this.m_command;
Adapter.Fill(result,p_StartRecord,p_MaxRecords,p_TableName);
}
}
catch(Exception e)
{
throw new JoyBaseDBException(e.Message,e);
}
//this.m_Parameters.Clear();
return result;
}
///
/// 执行查询操作,并且返回一个DataSet对象
///
/// DataSet中包含的表的名称
///
public System.Data.DataSet ExecuteDataSet(string p_TableName)
{
this.Prepare();
System.Data.DataSet result=new System.Data.DataSet();
try
{
//System.Data.Common.DbDataAdapter Adapter=null;
if(Provider.Type==DBType.SqlClient)
{
System.Data.SqlClient.SqlDataAdapter Adapter=new System.Data.SqlClient.SqlDataAdapter((System.Data.SqlClient.SqlCommand)this.m_command);
//Adapter.SelectCommand=new System.Data.SqlClient.SqlCommand("select * from orders",(System.Data.SqlClient.SqlConnection)Provider.getConn("DSN"));//(System.Data.SqlClient.SqlCommand)this.m_command;
Adapter.Fill(result,p_TableName);
}
else
{
System.Data.OleDb.OleDbDataAdapter Adapter=new System.Data.OleDb.OleDbDataAdapter((System.Data.OleDb.OleDbCommand)this.m_command);
//Adapter.SelectCommand=(System.Data.OleDb.OleDbCommand)this.m_command;
Adapter.Fill(result,p_TableName);
}
}
catch(Exception e)
{
throw new JoyBaseDBException(e.Message,e);
}
//this.m_Parameters.Clear();
return result;
}
///
/// 执行查询操作,并且返回一个DataSet对象
///
///
public System.Data.DataSet ExecuteDataSet()
{
this.Prepare();
System.Data.DataSet result=new System.Data.DataSet();
try
{
if(Provider.Type==DBType.SqlClient)
{
System.Data.SqlClient.SqlDataAdapter Adapter=new System.Data.SqlClient.SqlDataAdapter((System.Data.SqlClient.SqlCommand)this.m_command);
Adapter.Fill(result);
}
else
{
System.Data.OleDb.OleDbDataAdapter Adapter=new System.Data.OleDb.OleDbDataAdapter((System.Data.OleDb.OleDbCommand)this.m_command);
Adapter.Fill(result);
}
}
catch(Exception e)
{
throw new JoyBaseDBException(e.Message,e);
}
//this.m_Parameters.Clear();
return result;
}

