- //本地 数据库orcl 用户密码 scott/system
create or replace procedure proc_test_cnt(v_cnt out integer)
is
begin
select count(*) into v_cnt from dept;
end proc_test_cnt;
2.//在virtual studio 2005编写windows窗体应用程序,窗体只有一个文本框,存 储上述存储过程加工的返回值
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
//用与oracle交互的客户端名称空间
using System.Data.SqlClient;
//访问oracle端的名称空间
using System.Data.OracleClient;
namespace WindowsApplication5
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//在form_load事件添加处理代码
private void Form1_Load(object sender, EventArgs e)
{
//system.data.sqlclient
//就这个oraclconnection,我刚开始搞成了sqlconnection;这二者是有区别,要查下区别
//费了半天的时间,总报sqlconnection不能转换为oracleconnection
OracleConnection sqlconnection1 = new OracleConnection("Data Source=orcl;User id=scott;Password=system;");
//构造函数参数分别为:存储过程名,数据库连接
OracleCommand oraclecommand1 = new OracleCommand("proc_test_cnt",sqlconnection1);
//指定命令类型为存储过程 commandtype为枚举类型
oraclecommand1.CommandType = CommandType.StoredProcedure;
//添加存储过程的方法参数名称及参数类型
oraclecommand1.Parameters.Add("v_cnt",OracleType.Int16).Direction=ParameterDirection.Output;
//打开数据库连接
sqlconnection1.Open();
//执行存储过程
oraclecommand1.ExecuteNonQuery();
//窗体的文本框接受存储过程的输出参数
//因为text属性类型为string.用convert.tostring进行显式强制类型转换
textBox1.Text = Convert.ToString(oraclecommand1.Parameters["v_cnt"].Value);
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
}
}
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9240380/viewspace-705814/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9240380/viewspace-705814/