oracle数据库访问类
来源:互联网 发布:软件开发项目收获 编辑:程序博客网 时间:2024/05/29 17:15
using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Windows.Forms;using System.Data.OracleClient;//using Oracle.DataAccess;//using Oracle.DataAccess.Types;//using Oracle.DataAccess.Client;namespace NewUserInstall{ public class DBAccess { private static OracleConnection OraConn; private static OracleCommand OraCmd; public static string dbName;//DB名称 public static string dbUser;//DB连接用户 public static bool DBConnect(string puser,string pwd,string ds) { //DB连接 try { if (OraConn!= null)//如果连接没关闭,先关闭 DBClose(); string ConString = "Data Source=" + ds + ";User Id=" + puser + ";Password=" + pwd; OraConn = new OracleConnection(ConString); OraCmd = new OracleCommand("", OraConn); OraConn.Open(); //dbName=OraConn.DatabaseName.ToString(); //dbName = OraConn.DataSource.ToString(); //dbUser=OraConn.GetSchema().ToString(); return true; } catch(Exception ex){ MessageBox.Show(ex.Message); return false; } } public static DataTable DBExecStoredProcedure(string spName, OracleParameter[] sqlParme) { try { //使用oracle的客户端DataAccess访问 OraCmd.CommandText = spName; OraCmd.CommandType = CommandType.StoredProcedure; OraCmd.Parameters.Clear();//先清空 foreach (OracleParameter parme in sqlParme) { OraCmd.Parameters.Add(parme); } //使用微软的ORACLE访问接口 //参数2 //sqlParme1.ParameterName = "POUT"; //sqlParme1.OracleDbType = OracleDbType.Varchar2; //sqlParme[1] = OraCmd.Parameters.Add("POUT", OracleDbType.Varchar2); //sqlParme.Value = "2020"; ////参数3 //sqlParme = OraCmd.Parameters.Add("pGoodsId", OracleType.VarChar); //sqlParme.Direction = ParameterDirection.Input; //sqlParme.Value = "07001"; //执行 //OraCmd.ExecuteNonQuery(); //MessageBox.Show(OraCmd.Parameters["POUT"].Value.ToString()); DataSet ds1; DateTime EndTime; TimeSpan sp; ds1 = new DataSet(); DateTime BegTime = System.DateTime.Now; OracleDataAdapter da1 = new OracleDataAdapter(OraCmd);//取出数据 da1.Fill(ds1); EndTime = System.DateTime.Now; string str = "spare time:" + (EndTime - BegTime).ToString(); DataTable dt = ds1.Tables[0]; if (dt != null && dt.Rows.Count != 0) MessageBox.Show("返回记录数" + dt.Rows.Count.ToString() + "\n" + str); return dt; } catch (InvalidCastException e) { return null; } } //执行多条插入 public static bool DBExeMuSql(string[] strMSql) { bool br = true; //使用oracle的客户端DataAccess访问 if (OraConn.State == ConnectionState.Closed) OraConn.Open(); OraCmd = new OracleCommand("", OraConn); OracleTransaction tx = OraConn.BeginTransaction(); OraCmd.Transaction = tx; try { foreach (string sSql in strMSql) { try { OraCmd.CommandText = sSql; OraCmd.ExecuteNonQuery(); } catch(Exception e) { MessageBox.Show(e.Message + sSql); throw; } } tx.Commit(); br = true; } catch (OracleException ex) { br = false; tx.Rollback(); MessageBox.Show(ex.Message); return br; } return br; } public static DataTable DBExecSql(string strSql) { string strResult = ""; //使用oracle的客户端DataAccess访问 OraCmd.CommandText = strSql; try { OracleDataAdapter da1 = new OracleDataAdapter(OraCmd); DataTable dt = new DataTable(); da1.Fill(dt); return dt; } catch (Exception ex) { MessageBox.Show(ex.Message); return null; } } //关闭数据库连接 public static bool DBClose() { try { if (OraConn!=null) OraConn.Close(); return true; } catch { return false; } } }}
0 0
- oracle数据库访问类
- DOMINIO 访问 oracle数据库
- Oracle数据库的访问
- C++访问Oracle数据库
- java访问Oracle数据库
- 访问oracle数据库
- ORACLE 跨数据库访问
- 远程访问oracle数据库
- oracle访问另一个数据库
- Oracle sqlplus访问数据库
- Groovy访问oracle数据库
- C++访问ORACLE数据库
- c#访问oracle数据库
- 访问对方oracle数据库
- Windows访问Oracle数据库
- C++访问Oracle数据库
- oracle数据库访问
- C++访问Oracle数据库
- Wi-Fi Alliance认证
- maven用途、核心概念、用法、常用参数和命令、扩展
- 第七周数据结构之自建算法库——顺序环形队列【项目1 - 建立顺序环形队列算法库】
- 注意Hibernate4在开发当中的一些改变
- nyoj 36
- oracle数据库访问类
- Lua table 引用
- 解决懒加载的几种方法
- 黑马程序员—基础—Java多线程编程详解
- 跳转的好处、跳转与ajax的结合、跳转与ajax_jQuery的结合
- http post/get 2种使用方式
- java中自带排序方法以及数组和list的相互转换
- boost>shared_ptr
- java 判断一个数组是否有重复值