当前位置:编程学习 > VB >>

VB+SQL调用过程方法

我建立了三个表,学生(学号,姓名),课程(课号,名称),成绩(学号,课号,分数),现想通过调用过程达到给定一个学号删除这个学生信息,包括成绩表的信息,
SQL中建立了过程
CREATE PROCEDURE Deletestuandsc
(
    @sno int
)

AS

BEGIN TRANSACTION

DECLARE @scError int,@stuError int

DELETE FROM "sc" WHERE sno=@sno
SELECT @scError=@@ERROR

DELETE FROM stu WHERE sno=@sno
SELECT @stuError=@@ERROR

IF @scError = 0 AND @stuError = 0

    COMMIT TRANSACTION
ELSE
    ROLLBACK TRANSACTION


先需要在VB中实现,用adodc控件,一个按纽,一个文本框,一张dategrid,请大家帮我实现一下,谢谢啦 你先把SQL脚本用咱看得懂的意思表达一下啥. 咱都不知道你要干神马. 
反正VB调用SQL也简单的, 先引用和定义ADODB再连接数据库, 之后就是SQL语句了, 这个你不会陌生的吧
很简单的问题,但那是我初学SQL和VB,很多东西还很模糊。我的意思就是有三张表,分别是学生(学号,姓名),课程(课号,名称),成绩(学号,课号,分数),现在在SQL中已经成功建立了一个过程,Deletestuandsc,用来给定一个学号,删除此学号对应的学生表信息和成绩表信息。参数就是学号。现在能在SQL中执行了。关键就是不会在VB里调用这个过程,比如设置一个按纽cmddelete,他的单击响应函数该如何写呢?多谢指教。 Dim strS As String '定义一变量
Dim adoconn As New ADODB.Connection 'Connection 对象代表了打开与数据源的连接。
Dim adocomm As New ADODB.Command 'Command 对象定义了将对数据源执行的指定命令。
adoconn.ConnectionString = Adodc1.ConnectionString 'Adodc1为窗体中的ADO控件,并已成功连接数据库
adoconn.Open
Set adocomm.ActiveConnection = adoconn '指示指定的 Command对象当前所属的 Connection对象。
adocomm.CommandText = "Deletestuandsc" '设置Command对象源。
adocomm.CommandType = adCmdStoredProc '通知提供者CommandText属性有什么,它可能包括Command对象的源类型。设置这个属性优化了该命令的执行。 
adocomm.Parameters(1) = "1"
adocomm.Execute
引用 3 楼 zhangdi_0101 的回复:
很简单的问题,但那是我初学SQL和VB,很多东西还很模糊。我的意思就是有三张表,分别是学生(学号,姓名),课程(课号,名称),成绩(学号,课号,分数),现在在SQL中已经成功建立了一个过程,Deletestuandsc,用来给定一个学号,删除此学号对应的学生表信息和成绩表信息。参数就是学号。现在能在SQL中执行了。关键就是不会在VB里调用这个过程,比如设置一个按纽cmddelete,他的单击响应……


你也可以不用这个存储过程,在程序只需要删除学生表里的学生信息,然后在数据库里增加一个触发器,设定如果成绩表里有该学生的成绩便删除成绩表里对应的记录。 dim cnn as New ADODB.Connection
Dim cmd As ADODB.Command
cnn.Open
Set cmd = New ADODB.Command
cmd.ActiveConnection = cnn
cmd.CommandText = "Deletestuandsc"
cmd.CommandType = adCmdStoredProc
    cmd.Parameters(1) = dd  'dd这里是你要传的学号
cmd.Execute

这是我的程序写法,你测试一下,应该没有问题的。
补充:VB ,  数据库(包含打印,安装,报表)
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,