急急急------高分求简单问题:VB调用ORACLE的存储过程,分不够可以再加

zdq801104 2004-12-22 01:49:16
我在ORACLE里面写了一个包,包里面有几个存储过程,过程有参数
现在我想调用包里面的存储过程,请大侠帮忙指点指点
最好能给出例子,简单的就行,要有参数传输的,谢谢!
我的邮箱是:zdq801104@tom.com.QQ:178758908
谢谢指点,真的是太急了,分不够可以说一声!
...全文
249 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
射天狼 2004-12-23
  • 打赏
  • 举报
回复
Set cmd = New ADODB.Command
cmd.ActiveConnection = mConn
cmd.CommandText = "包名.存储过程名" '你试一下,我这没有ORACLE的环境
cmd.CommandType = adCmdStoredProc

//我服了,你就不能自己测试一下吗?~~~~~
zdq801104 2004-12-23
  • 打赏
  • 举报
回复
3Q,揭贴!
zdq801104 2004-12-22
  • 打赏
  • 举报
回复
大家帮UP一下吧
zdq801104 2004-12-22
  • 打赏
  • 举报
回复
就是这个,sap_qapur201是包名,first 是一个存储过程
create or replace package body sap_qapur201 is
procedure first is
i int;
begin
-- p_MANDT := sap_bas.f_t000_MANDT; -- 提到集团代码
p_MANDT :='300';
sap_qapur201;
end;
射天狼 2004-12-22
  • 打赏
  • 举报
回复
怎么不见包名?
//什么包名?!

mConn这个是连接串吧?
//对,这是数据库的连接,你改成你现在系统里有的连接就可以了

数据连接在那里?我以前是用数据环境连的,这个不会
//这个你自己写啊,我哪知道你要连接什么数据库!!

再请大侠出手
射天狼 2004-12-22
  • 打赏
  • 举报
回复
如果你还不明白,那我也没办法了~~~~~~
射天狼 2004-12-22
  • 打赏
  • 举报
回复
给你解释一下吧:

Dim rs As ADODB.Recordset
Dim cmd As ADODB.Command '定义命令对象
Dim param As ADODB.Parameter '定义参数

Set cmd = New ADODB.Command
cmd.ActiveConnection = mConn
cmd.CommandText = "insert_users"
cmd.CommandType = adCmdStoredProc '设置命令的类型为存储过程

Set param = cmd.CreateParameter("truename", adChar, adParamInput, 20, Trim(txttruename.Text)) '创建一个参数,依次分别为:参数名,类型,类型,长度,值
cmd.Parameters.Append param '追加参数

Set param = cmd.CreateParameter("regname", adChar, adParamInput, 20, Trim(txtregname.Text))
cmd.Parameters.Append param '追加第二个参数

Set param = cmd.CreateParameter("pwd", adChar, adParamInput, 20, Trim(txtpwd.Text))
cmd.Parameters.Append param '追加第三个参数

Set param = cmd.CreateParameter("sex", adChar, adParamInput, 20, Trim(txtsex.Text))
cmd.Parameters.Append param '追加第四个参数

Set param = cmd.CreateParameter("email", adChar, adParamInput, 20, Trim(txtemail.Text))
cmd.Parameters.Append param '追加第五个参数

Set rs = cmd.Execute '执行存储过程
zdq801104 2004-12-22
  • 打赏
  • 举报
回复
不好意思,刚学VB,今晚就要测试了,这个是临时要加的玩意,我没有用过VB调用存储过程
谢谢
射天狼 2004-12-22
  • 打赏
  • 举报
回复
这个很简单啊,你还看不明白吗?晕了~~~~~

zdq801104 2004-12-22
  • 打赏
  • 举报
回复
我一般用设计器下面的数据环境来连接数据库,如果大伙这方面的例子
你贴出来帮帮忙,分不够可以再加,我会另开贴给分
zdq801104 2004-12-22
  • 打赏
  • 举报
回复
非常感谢你的回答,能注明一下你的程序哪个是包名,哪个是
存储过程名以及调用参数吗?我现在急倒用了,分不够我可以再加
100,拜谢!!!
射天狼 2004-12-22
  • 打赏
  • 举报
回复
Option Explicit
Private mConn As Connection

Private Sub Command1_Click()
Dim rs As ADODB.Recordset
Dim cmd As ADODB.Command
Dim param As ADODB.Parameter

Set cmd = New ADODB.Command
cmd.ActiveConnection = mConn
cmd.CommandText = "insert_users"
cmd.CommandType = adCmdStoredProc

Set param = cmd.CreateParameter("truename", adChar, adParamInput, 20, Trim(txttruename.Text))
cmd.Parameters.Append param

Set param = cmd.CreateParameter("regname", adChar, adParamInput, 20, Trim(txtregname.Text))
cmd.Parameters.Append param

Set param = cmd.CreateParameter("pwd", adChar, adParamInput, 20, Trim(txtpwd.Text))
cmd.Parameters.Append param

Set param = cmd.CreateParameter("sex", adChar, adParamInput, 20, Trim(txtsex.Text))
cmd.Parameters.Append param

Set param = cmd.CreateParameter("email", adChar, adParamInput, 20, Trim(txtemail.Text))
cmd.Parameters.Append param

Set rs = cmd.Execute

Command2_Click

End Sub

Private Sub Command2_Click()
Dim rs As ADODB.Recordset
Dim cmd As ADODB.Command
Dim param As ADODB.Parameter

Set rs = New ADODB.Recordset
Set cmd = New ADODB.Command
cmd.ActiveConnection = mConn
cmd.CommandText = "select_users"
cmd.CommandType = adCmdStoredProc

mConn.CursorLocation = adUseClient '设置为客户端

Set rs = cmd.Execute()

MsgBox rs.RecordCount
Set DataGrid1.DataSource = rs
DataGrid1.Refresh

End Sub

Private Sub Form_Load()
'open the connection
Set mConn = New Connection

mConn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=TestUser;Data Source=yang"
mConn.Open
Dim rs As New ADODB.Recordset
'Set rs = New ADODB.Recordset
rs.Open "users", mConn, adOpenStatic, adLockPessimistic

MsgBox rs.RecordCount

End Sub



Private Sub Form_Unload(Cancel As Integer)

mConn.Close
Set mConn = Nothing
End Sub

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧