zoukankan      html  css  js  c++  java
  • C#中Oracle数据库的连接类

    本文转自:http://changbl.iteye.com/blog/1750454

    1.C#连接Oracle数据库,首先需要在引用中添加System.Data.OracleClient组件

    2.在类中引用System.Data.OracleClient组件:using System.Data.OracleClient

    3.打开Oracle数据库连接

       在打开数据库连接时,根据实际情况,我们把连接的字符串信息写在xml配置文件中,读取xml配置文件获取连接信息字符串。

    配置文件信息如下:

    注意:配置文件需要放在项目实际目录下的binRelease中

    Java代码  收藏代码
    1. config.xml  
    2.   
    3. <?xml version="1.0" encoding="utf-8" ?>  
    4. <prog>  
    5.     <oracle>  
    6.         <connString>server=192.168.1.189;uid=AAMS;pwd=111111;data source=orcl</connString>  
    7.         <oleString>Password=111111;User ID=AAMS;Data Source=ORCL;Persist Security Info=True</oleString>  
    8.     </oracle>  
    9. </prog>  

     读取xml配置文件信息:

    C#代码  收藏代码
    1. /// <summary>  
    2.         /// 获取XML文件中对应节点的值  
    3.         /// </summary>  
    4.         /// <param name="name"></param>  
    5.         /// <returns></returns>  
    6.         public static string getXmlValue(string nodeName)  
    7.         {  
    8.             string s = "";  
    9.             string nodeValue = "";  
    10.             //需要using System.Xml  
    11.             XmlDocument xd = new XmlDocument();  
    12.             xd.Load(Program.PATH + "\config.xml");  
    13.             XmlNodeReader xnr = new XmlNodeReader(xd);  
    14.             while (xnr.Read())  
    15.             {  
    16.                 switch (xnr.NodeType)  
    17.                 {  
    18.                     case XmlNodeType.Element:  
    19.                         s = xnr.Name;  
    20.                         break;  
    21.                     case XmlNodeType.Text:  
    22.                         if (s.Equals(nodeName))  
    23.                         {  
    24.                             nodeValue = xnr.Value;  
    25.                         }  
    26.                         break;  
    27.                 }  
    28.             }  
    29.             return nodeValue;  
    30.         }  

     打开数据库连接

    C#代码  收藏代码
    1. public static string connString = "";  
    2.         public static OracleConnection conn = null;  
    3.   
    4.         //打开数据库连接  
    5.         public static bool Open()  
    6.         {  
    7.             //从配置文件中获取连接字符串  
    8.             //配置文件需要放在项目目录下的binRelease中  
    9.             connString = getXmlValue("connString");  
    10.             conn = new OracleConnection(getXmlValue("connString"));  
    11.             try  
    12.             {  
    13.                 conn.Open();  
    14.                 Console.WriteLine("数据库连接成功");  
    15.                 return true;  
    16.             }  
    17.             catch (System.Exception ex)  
    18.             {  
    19.                 Console.Write(ex.Message);  
    20.                 MessageBox.Show("未能连接到数据库");  
    21.                 return false;  
    22.             }  

     4.关闭数据库连接

    C#代码  收藏代码
    1. public static void Close()  
    2.         {  
    3.             if (conn != null)  
    4.             {  
    5.                 conn.Close();  
    6.                 conn.Dispose();  
    7.                 conn = null;  
    8.                 Console.WriteLine("数据库关闭成功");  
    9.             }  
    10.         }  

     5.添加数据(使用拼接sql语句的方法)

    C#代码  收藏代码
    1. public static int insert(int ruleId, int equipmentId, String equipmentName, String propertyName, int ruleType, String ruleRequest, String ruleRequestOther, String ruleExplain)  
    2.         {  
    3.             String sql = "insert into Device_Attr t(CA_ID,BASEID,BASENAME,CA_NAME,CA_RULETYPE,CA_RULETEXT,CA_RULETEXT2,t.CONTENT) values(" + ruleId + "," + equipmentId + ",'" + equipmentName + "$','" + propertyName + "','" + ruleType + "','" + ruleRequest + "','" + ruleRequestOther + "','" + ruleExplain + "')";  
    4.             Console.WriteLine(sql);  
    5.             OracleCommand oc = new OracleCommand(sql, conn);  
    6.             int result = oc.ExecuteNonQuery();  
    7.             return result;  
    8.         }  

     6.删除数据

    C#代码  收藏代码
    1. public static int delete(string sql)  
    2.         {  
    3.             OracleCommand cmd = new OracleCommand(sql, conn);  
    4.             int result = cmd.ExecuteNonQuery();  
    5.             return result;  
    6.         }  

     7.修改数据(使用参数的方法,与添加数据用的是两种方法,这两种方法都可行)

    C#代码  收藏代码
    1. public static int update(int ruleId, int equipmentId, String equipmentName, String propertyName, int ruleType, String ruleRequest, String ruleRequestOther, String ruleExplain)  
    2.         {  
    3.             String sql = "update Device_Attr t set t.BASEID = :equipmentId, t.BASENAME = :equipmentName,t.CA_NAME = :propertyName,t.CA_RULETYPE = :ruleType,t.CA_RULETEXT = :ruleRequest,t.CA_RULETEXT2 = :ruleRequestOther,t.CONTENT = :ruleExplain where t.CA_ID =:ruleId";  
    4.                 OracleCommand cmd = new OracleCommand(sql, conn);  
    5.             OracleParameter param_1 = new OracleParameter(":equipmentId", equipmentId);  
    6.             cmd.Parameters.Add(param_1);  
    7.             OracleParameter param_2 = new OracleParameter(":equipmentName", equipmentName + "$");  
    8.             cmd.Parameters.Add(param_2);  
    9.             OracleParameter param_3 = new OracleParameter(":propertyName", propertyName);  
    10.             cmd.Parameters.Add(param_3);  
    11.             OracleParameter param_4 = new OracleParameter(":ruleType", ruleType);  
    12.             cmd.Parameters.Add(param_4);  
    13.             OracleParameter param_5 = new OracleParameter(":ruleRequest", ruleRequest);  
    14.             cmd.Parameters.Add(param_5);  
    15.             OracleParameter param_6 = new OracleParameter(":ruleRequestOther", ruleRequestOther);  
    16.             cmd.Parameters.Add(param_6);  
    17.             OracleParameter param_7 = new OracleParameter(":ruleExplain", ruleExplain);  
    18.             cmd.Parameters.Add(param_7);  
    19.             OracleParameter param_8 = new OracleParameter(":ruleId", ruleId);  
    20.             cmd.Parameters.Add(param_8);  
    21.             int result = cmd.ExecuteNonQuery();  
    22.             return result;  
    23.         }  

     8.查询数据

    C#代码  收藏代码
    1. public static OracleDataReader QueryForReader(string sql)  
    2.         {  
    3.             try  
    4.             {  
    5.                 OracleCommand cmd = conn.CreateCommand();  
    6.                 cmd.CommandText = sql;  
    7.                 OracleDataReader dtr = cmd.ExecuteReader();  
    8.                 return dtr;  
    9.             }  
    10.             catch (System.Exception ex)  
    11.             {  
    12.                 Console.WriteLine(ex.ToString());  
    13.                 return null;  
    14.             }  
    15.         }  
  • 相关阅读:
    C语言枚举类型(C语言enum用法)详解
    基础练习 报时助手
    怎么将CAD转JPG?教你两种CAD转JPG方法
    CAD图纸怎么看?这两种方法值得看
    某酒店建筑设计CAD施工图
    CAD怎么算面积?这种方法你要知道
    怎么将DWG转PDF?分享一个在线转换方法
    如何使用CAD删除命令?怎么删除图纸中线段
    CAD制图软件哪个好?试试这两个就知道了
    CAD制图初学入门如何学好CAD?CAD大神总结5点诀窍,必须收藏
  • 原文地址:https://www.cnblogs.com/zztong/p/6695160.html
Copyright © 2011-2022 走看看