vb调用sql存储过程

createproceduresy_select_course@CustomerIDchar(4),@CourseIDchar(4)asbegintran--插入消费记录... create procedure sy_select_course
@CustomerID char(4),
@CourseID char(4)
as
begin tran
--插入消费记录
insert 消费 values(@CustomerID,@CourseID,GETDATE())

--修改客户的余额信息
declare @消费金额 money,@余额 money
select @消费金额 = 价格 from 课程 where 课程编号 = @CourseID
update 学员 set 余额 = 余额 - @消费金额
where 学员编号 = @CustomerID
select @余额 = 余额 from 学员 where 学员编号 = @CustomerID

--Case余额不足
if @余额 < 0
begin
raiserror('余额不足!选课失败!',16,@余额)
rollback tran
return
end

commit tran

这个是数据库里的存储过程的代码,vb用的是visual studio2010
各位大侠帮帮忙吧!!!马上就要交作业了!!!
展开
 我来答
bd5057
2015-06-18 · TA获得超过879个赞
知道大有可为答主
回答量:1242
采纳率:100%
帮助的人:1105万
展开全部
'引用Microsoft ActiveX Data Objects 2.8 Library
Dim Cnn As ADODB.Connection
Dim Rs As ADODB.Recordset
Dim Cnn_c As New ADODB.Command
Dim cnn_p As ADODB.Parameter
dim CourseID as string,CustomerID as string
Set Cnn = New ADODB.Connection
Set Rs = New ADODB.Recordset
'On Error Resume Next
Cnn.ConnectionString = ConnStr '连接字符串
With Cnn
    .CursorLocation = adUseClient
    .Open '连接
End With
Set Cnn_c.ActiveConnection = Cnn
With Cnn_c
    .CommandType = adCmdStoredProc '命令类型:存储过程
    .CommandText = "sy_select_course" '存储过程名
End With
Set cnn_p = Cnn_c.CreateParameter("ReTurn", adInteger, adParamReturnValue)
Cnn_c.Parameters.Append cnn_p '添加参数ReTurn(返回值)
Set cnn_p = Cnn_c.CreateParameter("CustomerID", adVarChar, adParamInput, 4, CustomerID)
Cnn_c.Parameters.Append cnn_p'添加参数CustomerID
Set cnn_p = Cnn_c.CreateParameter("CourseID", adVarChar, adParamInput, 4, CourseID)
Cnn_c.Parameters.Append cnn_pSet '添加参数CourseID
Rs = Cnn_c.Execute '执行
If Rs.RecordCount > 0 Then
    '这里处理查询
    Rs.Close'关闭记录集
End If
Cnn.Close'关闭连接
Set cnn_p = Nothing
Set Cnn_c = Nothing
Set Rs = Nothing
Set Cnn = Nothing
追问
这不是adobe吗好多在visual studio里都是错的
追答
我给你的代码是VB6的,你自己改成VS的就可以了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式