首页 > 开发 > .Net > 正文

.net+oracle+crystalReports开发web应用程序学习笔记(二)

2020-02-03 15:58:12
字体:
来源:转载
供稿:网友
上次提到基本的配置注意问题,现在开始实际开发oracle中的问题

一 oracle 数据库的连接

但你装了oracle的客户端,在配置时就已经指定了数据库服务器,所以连接时主要由三个元素就可以连接上数据库,数据库的名称(即sid),用户名,密码

sqlconnection con=new sqlconnection("provider=msdaora.1;user id=userid;data source=xf;password=password")

而sql server不需要安装客户端,所以必须指定服务器,和数据库名

sqlconnection con=new sqlconnection("workstation id=xiaofeng;packet size=4096;user id=sa;integrated security=sspi;data source=xiaofeng;persist security info=false;initial catalog=xf");

二 在oracle中运行包(package)中的函数和存储过程。

举个例子,要运行下面一个sql语句:"select order_no,inventory_part_api.get_description(contract,part_no),part_no from shop_ord where inventory_part_api.get_description(contract,part_no) like '%喜之郎25%果冻%'";

1.在.net设计中(如设计sqldataadapter)不能够直接使用包中的函数和存储过程,如果要使用,可以在设计时把包中要使用的函数和存储过程copy过来再设计时声明一遍,就可以使用

2.在.net运行时直接添加代码,系统会直接去寻中包中的内容

string strcommand;

strcommand="select order_no,inventory_part_api.get_description(contract,part_no),part_no from shop_ord where inventory_part_api.get_description(contract,part_no) like '%喜之郎25%果冻%'";

oledbconnection con=new oledbconnection("provider=msdaora.1;password=password;user id=userid;data source=xf");

con.open();

oledbdataadapter adapter=new oledbdataadapter(strcommand,con);

dataset dataset = new dataset();

adapter.fill(dataset);

this.datagrid1.datasource=dataset;

datagrid1.databind();

con.close();



3.怎么使用存储过程

oracleconnection conn = new oracleconnection("data source=oracle8i;integrated security=yes");

conn.open;

oraclecommand cmd = conn.createcommand();

cmd.commandtext = "sp_pkg.getdata";

cmd.commandtype = commandtype.storedprocedure;

cmd.parameters.add(new oracleparameter("a1", oracletype.cursor)).direction = parameterdirection.output;

cmd.parameters.add(new oracleparameter("a2", oracletype.cursor)).direction = parameterdirection.output;

dataset ds = new dataset();

oracledataadapter adapter = new oracledataadapter(cmd);

adapter.fill(ds);





发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表