1,需要System.Data.OracleClient 这个DLL, 下载地址:http://good.gd/1961806.htm
2,这个公共类必须放在UI层。
如果放到非UI层,就会出问题,俺也没有找到原因。望智者告之,万分感谢!
[csharp]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data. OracleClient;
namespace JonseTest
{
public static class OracleHelper
{
private static string _sConnString = string.Empty;
//string sConnStr = @"Data Source=**;User Id=**;Password=**;";
public static string ConnString
{
get { return _sConnString; }
set { _sConnString = value; }
}
public static bool TestConn(string sConnStr = "")
{
OracleConnection myConn = null;
bool bResult = false;
try
{
if (string.IsNullOrEmpty(sConnStr)) sConnStr = _sConnString;
myConn = new OracleConnection(_sConnString);
myConn.Open();
}
catch (Exception ex)
{
}
finally
{
if (myConn != null && myConn.State.ToString() == "Open")
bResult = true;
}
myConn.Close();
return bResult;
}
public static DataTable GetDataTable(out string sErr, string sSQL, string sConnStr = "", params OracleParameter[] cmdParams)
{
DataTable dt = null;
sErr = string.Empty;
if (string.IsNullOrEmpty(sConnStr)) sConnStr = _sConnString;
OracleConnection accConn = null;
try
{
accConn = new OracleConnection(sConnStr);
OracleCommand accCmd = new OracleCommand(sSQL, accConn);
accConn.Open();
if (cmdParams != null)
{
foreach (OracleParameter parm in cmdParams)
accCmd.Parameters.Add(parm);
}
OracleDataAdapter adapter = new OracleDataAdapter(accCmd);
dt = new DataTable();
adapter.Fill(dt);
accConn.Close();
}
catch (Exception ex)
{
sErr = ex.Message;
}
return dt;
}
// 取dataset
public static DataSet GetDataSet(out string sError, string sSQL, string sConnStr = "", params OracleParameter[] cmdParams)
{
DataSet ds = null;
sError = string.Empty;
try
{
if (string.IsNullOrEmpty(sConnStr)) sConnStr = _sConnString;
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);
}
OracleDataAdapter dapter = new OracleDataAda