《C#写入Oracle数据库表的例子》由会员分享,可在线阅读,更多相关《C#写入Oracle数据库表的例子(7页珍藏版)》请在金锄头文库上搜索。
1、C# 写入 Oracle 数据库表的例子using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.OracleClient;namespace A0170_Oracle.Sample / / 测试写入 Oracle 数据. / class WriteOracleData / / Oracle 的数据库连接字符串. / private const String connString = Data Source=(DESC
2、RIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.210)(PORT=1521)(CONNECT_DATA=(SERVICE_NAME=ORCL);User Id=TEST;Password=TEST123; / / 用于查询 数据是否存在的 SQL 语句. / private const String EXIST_SQL = SELECT COUNT(1) FROM sale_report WHERE sale_date = :sale_date AND sale_item = :sale_item; / / 用于查询的 SQL 语句. / pri
3、vate const String SELECT_SQL = SELECT sale_date, sale_item, sale_money FROM sale_report WHERE sale_date = :sale_dateAND sale_item = :sale_item; / / 用于 新增记录的 SQL 语句 / private const String INSERT_SQL = INSERT INTO sale_report ( sale_date, sale_item, sale_money ) VALUES ( :sale_date, :sale_item, :sale_
4、money); / / 用于更新的 SQL 语句. / private const String UPDATE_SQL = UPDATE sale_report SET sale_money = :sale_money WHERE sale_date = :sale_date AND sale_item = :sale_item; / / 用于删除的 SQL 语句. / private const String DELETE_SQL = DELETE FROM sale_report WHERE sale_date = :sale_date AND sale_item = :sale_item
5、; / / 用于 测试数据的 日期 / private static DateTime TEST_SALE_DATE = new DateTime(2012, 12, 21); / / 用于测试用的 项目. / private const String TEST_SALE_ITEM = TA; / / 测试 新增、编辑、删除 / public void TestInsertUpdateDelete() Console.WriteLine(使用Command,执行相关的SQL语句,来实现对数据库的 新增、编辑、删除 ); / 建立数据库连接. OracleConnection conn = ne
6、w OracleConnection(connString); try / 打开连接. conn.Open(); if (ExistData(conn) Console.WriteLine(主键为 0 与 1 的数据,已经存在,无法进行新数据的插入!, TEST_SALE_DATE, TEST_SALE_ITEM); else Console.WriteLine(开始进行主键为0 与 1 的数据的插入!, TEST_SALE_DATE, TEST_SALE_ITEM); InsertData(conn); / 显示数据. ShowData(conn); / 更新数据. UpdateData(c
7、onn); / 再次显示数据. ShowData(conn); / 删除数据. DeleteData(conn); if (ExistData(conn) Console.WriteLine(主键为0 与 1 的的数据,没有成功的被删除!, TEST_SALE_DATE, TEST_SALE_ITEM); else Console.WriteLine(数据库中已检索不到主键为0 与 1 的的数据!, TEST_SALE_DATE, TEST_SALE_ITEM); / 事务处理. Transaction(conn); catch (Exception ex) Console.WriteLine
8、(数据库读写操作发生了错误!); Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); finally / 关闭数据库. conn.Close(); / / 检测数据库中,是否有指定记录的数据. / / / private bool ExistData(OracleConnection conn) / 创建一个 Command. OracleCommand existCommand = conn.CreateCommand(); / 定义需要执行的SQL语句. existCommand.CommandText = EX
9、IST_SQL; / 定义要查询的参数. existCommand.Parameters.Add(new OracleParameter(:sale_date, TEST_SALE_DATE); existCommand.Parameters.Add(new OracleParameter(:sale_item, TEST_SALE_ITEM); / 执行查询,并返回查询所返回的结果集中第一行的第一列。忽略其他列或行。 Object oRowCount = existCommand.ExecuteScalar(); / 转换为 int 类型. int rowCount = Convert.ToInt32(oRowCount); return (rowCount != 0); / / 插入数据. / / private void InsertData(OracleConnection conn) / 创建一个 Command. OracleCommand insertCommand = conn.CreateCommand(); / 定义需要执行的SQL语句. insertCommand.Comma