ado.net will take care connection pool, you don't need to worry about it.for encapsulated data-access layer, you can use Microsoft DataAcess Application Block.
解决方案 »
- 求教一个简单问题~~ 马上结贴~~
- c# winform 在picturebox 上画一个矩形 矩形大小可以拖动
- 怎样把string转换为時間格式的字符串?
- vs08 如何使用table对齐控件
- c# 线程池方法调用问题(串口,usb口数据采集) 急!!
- 如何知道我点击的是ListBox中哪一个Item
- 打算用c#写一个程序,当有其他用户进入我的界面时,可以报警通知我。
- dataset导出excel后遗留的问题,带代码。
- ???问一个用户控件使用问题???
- C# 写Excel文件生成后,再去读取时报错不是预期格式或没有表Sheet1 ,实际都有
- 请问如何在c#中实现既可以下来又可以填写的功能?
- datagrid的数据更新问题
using System.Data;
using System.Data.OracleClient;
using System.Collections;namespace monitor
{
/// <summary>
/// 不要改变
/// Summary description for DA.
/// </summary>
public class DA
{
static OracleConnection m_conn = null ; public DA()
{
//
// TODO: Add constructor logic here
//
} public static DataTable 查询数据库( string 查询语句 )
{
OracleConnection myConnection = 创建连接() ;
DataTable dt = new DataTable() ;
OracleDataAdapter da = new OracleDataAdapter( 查询语句, myConnection ) ;
da.Fill( dt ) ;
myConnection.Close() ;
return dt ;
} /// <summary>
/// 返回的int数组的值正好对应每一条Sql执行的结果
/// </summary>
/// <param name="arr"></param>
/// <returns></returns>
public static int[] 事务处理( string[] arr )
{
string str = "" ;
int[] return_arr = new int[ arr.Length ] ;
OracleConnection 数据库连接器 = 创建连接();
数据库连接器.Open();
OracleTransaction 事务 = 数据库连接器.BeginTransaction();
OracleCommand cmd = new OracleCommand();
cmd.Transaction = 事务;
cmd.Connection = 数据库连接器 ;
try
{
for( int i = 0 ; i < arr.Length ; i++ )
{
if( arr[i] == null || arr[i].Trim() == "" )
continue ;
cmd.CommandText = arr[i] ;
return_arr[i] = cmd.ExecuteNonQuery();
}
事务.Commit();
}
catch( Exception ep )
{
str = ep.Message ;
事务.Rollback();
for( int i = 0 ; i < arr.Length ; i++ )
return_arr[i] = -1 ;
}
finally
{
数据库连接器.Close();
}
return return_arr;
} public static OracleConnection 创建连接()
{
//string link = XmlConfig.GetAppConfig( "ConnStr" ) ;
if( m_conn == null )
m_conn = new OracleConnection( "Data Source=orcl;User ID=monitor;Password=monitor" ) ;
return m_conn ;
} public static int 更新数据库( string 更新语句 )
{
OracleConnection Conn = 创建连接() ;
OracleCommand Comm = new OracleCommand( 更新语句, Conn ) ;
int i = 0;
try
{
Comm.Connection.Open() ;
i = Comm.ExecuteNonQuery() ;
}
catch
{
}
finally
{
Comm.Connection.Close() ;
}
return i ;
} public static object GetSingleValue( string select )
{
OracleConnection Conn = 创建连接() ;
OracleCommand Comm = new OracleCommand( select, Conn ) ;
object obj = null ;
try
{
Comm.Connection.Open() ;
obj = Comm.ExecuteScalar() ;
}
catch
{
}
finally
{
Comm.Connection.Close() ;
}
return obj ;
}
}
}