ds = new DataSet();
dapter.Fill(ds);
}
catch (Exception ex)
{
sError = ex.Message;
}
return ds;
}
// 取某个单一的元素
public static object GetSingle(out string sError, string sSQL, string sConnStr)
{
DataTable dt = GetDataTable(out sError, sSQL, sConnStr);
if (dt != null && dt.Rows.Count > 0)
{
return dt.Rows[0][0];
}
return null;
}
// 取最大的ID
public static Int32 GetMaxID(out string sError, string sKeyField, string sTableName, string sConnStr = null)
{
DataTable dt = GetDataTable(out sError, "select nvl(max(" + sKeyField + "),0) as MaxID from " + sTableName, sConnStr);
if (dt != null && dt.Rows.Count > 0)
{
return Convert.ToInt32(dt.Rows[0][0].ToString());
}
return 0;
}
// 执行insert,update,delete 动作,也可以使用事务
public static bool UpdateData(out string sError, string sSQL, string sConnStr = "", OracleParameter[] cmdParams = null, bool bUseTransaction = false)
{
int iResult = 0;
sError = string.Empty;
if (string.IsNullOrEmpty(sConnStr)) sConnStr = _sConnString;
if (!bUseTransaction)
{
try
{
OracleConnection conn = new OracleConnection(sConnStr);
conn.Open();
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = sSQL;
if (cmdParams != null)
{
foreach (OracleParameter parm in cmdParams)
cmd.Parameters.Add(parm);
}
iResult = cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
sError = ex.Message;
iResult = -1;
}
}
else // 使用事务
{
OracleTransaction trans = null;
try
{
OracleConnection conn = new OracleConnection(sConnStr);
if (conn.State != ConnectionState.Open)
conn.Open();
trans = conn.BeginTransaction();
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = sSQL;
if (cmdParams != null)
{
foreach (OracleParameter parm in cmdParams)
cmd.Parameters.Add(parm);
}
cmd.Transaction = trans;
iResult = cmd.ExecuteNonQuery();
trans.Commit();
}
catch (Exception ex)
{