浅析C#绑定变量和匿名块获取获取序列当前值

开发 后端
这里将介绍如何用C#绑定变量和匿名块获取获取序列当前值,希望对大家有所帮助。

我们将谈到C#绑定变量和匿名块获取获取序列当前值,首先需要在Oracle中进行一系列的操作,接下来是C#绑定变量的具体操作。

1.在Oracle中建立表、序列、触发器:

  1. SQL> create table TESTTAB  
  2.    (  
  3.      ID   NUMBER,  
  4.      NAME VARCHAR2(10)  
  5.    ); 

表被创建

  1. SQL> create sequence TESTTABSEQ  
  2.     minvalue 1  
  3.     maxvalue 999999999999999999999999999  
  4.    start with 1  
  5.     increment by 1  
  6.     cache 20; 

序列被创建

  1. SQL> create or replace trigger Tr_testtabid  
  2.    before insert on testtab for each row  
  3.       
  4.     begin 
  5.      SELECT TESTTABSEQ.NEXTVAL into :NEW.id from dual;  
  6.      end Tr_testtabid;  
  7.     / 

触发器被创建

2.主要的C#绑定变量代码:

  1. using ORAC = System.Data.OracleClient;  
  2.         private void button1_Click(object sender, System.EventArgs e)  
  3.                 {  
  4.                         try 
  5.                         {  
  6.                           
  7.                                 string str_Sql = @"begin insert into testtab(name) values('test'); select TESTTABSEQ.Currval into :ID from dual; end;";  
  8.                                 ORAC.OracleCommand cmd= new ORAC.OracleCommand(str_Sql,this.oracleConnection1);  
  9.  
  10.                                 ORAC.OracleParameter parm = new ORAC.OracleParameter("ID",ORAC.OracleType.Number);  
  11.                                 parm.Direction = ParameterDirection.Output;  
  12.                                 cmd.Parameters.Add(parm);  
  13.  
  14.                                 if(this.oracleConnection1.State == System.Data.ConnectionState.Closed)  
  15.                                 {  
  16.                                         this.oracleConnection1.Open();  
  17.                                 }  
  18.                                 cmd.ExecuteNonQuery();  
  19.  
  20.  
  21.                                 this.textBox1.Text = cmd.Parameters[0].Value.ToString();  
  22.                         }  
  23.                         catch(Exception ex)  
  24.                         {  
  25.                                 MessageBox.Show("发生错误!";  
  26.                                   
  27.                         }  
  28.                         finally 
  29.                         {  
  30.                                 this.oracleConnection1.Close();  
  31.                         }  
  32.  
  33.                           
  34.                 } 

【编辑推荐】

  1. C# Attribute的概念与使用浅析
  2. C# AttributeUsage的使用浅析
  3. 浅析Attribute在C# WinForm控件开发中的使用
  4. 浅谈C#控件属性串行化的实现
  5. C#实例详解TypeConverterAttribute应用
责任编辑:彭凡 来源: IT168论坛
相关推荐

2009-08-20 16:15:19

C# 匿名方法

2009-09-18 19:21:17

C#接口

2009-09-08 16:22:27

c# listBox

2009-08-31 16:01:28

C#水晶报表数据获取方

2009-09-15 15:40:25

C# 绑定

2009-07-31 18:39:31

C#中foreach引

2009-08-25 15:15:08

C#对象序列化应用

2009-08-25 14:59:39

C# XML序列化应用

2009-09-09 15:54:48

C# XML序列化

2009-09-09 16:53:49

C# XmlSeria序列化

2009-08-10 17:25:58

C#匿名类型

2009-09-08 16:01:58

C# ListBox

2009-09-02 17:53:42

C#程序设计Windows窗体

2009-08-27 13:50:08

C# StringBu

2009-08-19 10:41:14

C# switch和c

2009-09-15 15:14:27

C# 绑定

2009-08-28 16:06:57

C#获取当前路径方法

2011-08-04 13:43:30

Objective-C 私有变量

2009-08-27 10:08:36

C#隐含类型局部变量

2009-08-31 10:00:07

C#静态变量
点赞
收藏

51CTO技术栈公众号