谁能给我解释一下这段代码??
1。请问调用一次ExecuteSP()的时候,是不是和数据库建立一次连接(oledbconnection),还是再程序中多次调用ExecuteSP()只打开一个数据库连接??
2。数据库连接oledbconnection再这儿为何没有关闭那?
private string GetConnectString()
{ string myConnectStr="Provider=MSDAORA.1;User ID=mall;Data Source=mall;Password=mall";
return myConnectStr;
}
//' DataAccess.CreateCommand()
// Creates a command object from a SQL string parameters, and the command type.
public OleDbCommand CreateCommand(string SQLText, OleDbParameter[] Param, CommandType SQLCmdType)
{
OleDbConnection myConnection= new OleDbConnection (GetConnectString());
OleDbCommand myCommand = new OleDbCommand (SQLText, myConnection);
myCommand.CommandType = SQLCmdType;
if (Param!=null)
{
foreach (OleDbParameter ParamTemp in Param)
{
myCommand.Parameters.Add(ParamTemp);
}
}
try
{
myConnection.Open();
return myCommand;
}
catch (Exception e)
{
LogError(e);
}
return null;
}
//' DataAccess.ExecuteSP()
// Executes a stored procedure with parameters.Fills a DataTable object, returns True if success.
public bool ExecuteSP(string SProcName, OleDbParameter[] Param, DataSet MyDataSet)
{
OleDbCommand myCommand= CreateCommand(SProcName, Param, CommandType.StoredProcedure);
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter (myCommand);
try
{
myDataAdapter.Fill(MyDataSet);
return true;
}
catch (Exception e)
{
LogError(e);
return false;
}
}