我建立了三个表,学生(学号,姓名),课程(课号,名称),成绩(学号,课号,分数),现想通过调用过程达到给定一个学号删除这个学生信息,包括成绩表的信息,
SQL中建立了过程
CREATE PROCEDURE Deletestuandsc
(
    @sno int
)ASBEGIN TRANSACTIONDECLARE @scError int,@stuError intDELETE FROM "sc" WHERE sno=@sno
SELECT @scError=@@ERRORDELETE FROM stu WHERE sno=@sno
SELECT @stuError=@@ERRORIF @scError = 0 AND @stuError = 0    COMMIT TRANSACTION
ELSE
    ROLLBACK TRANSACTION
先需要在VB中实现,用adodc控件,一个按纽,一个文本框,一张dategrid,请大家帮我实现一下,谢谢啦

解决方案 »

  1.   

    你先把SQL脚本用咱看得懂的意思表达一下啥. 咱都不知道你要干神马. 
    反正VB调用SQL也简单的, 先引用和定义ADODB再连接数据库, 之后就是SQL语句了, 这个你不会陌生的吧
      

  2.   

    很简单的问题,但那是我初学SQL和VB,很多东西还很模糊。我的意思就是有三张表,分别是学生(学号,姓名),课程(课号,名称),成绩(学号,课号,分数),现在在SQL中已经成功建立了一个过程,Deletestuandsc,用来给定一个学号,删除此学号对应的学生表信息和成绩表信息。参数就是学号。现在能在SQL中执行了。关键就是不会在VB里调用这个过程,比如设置一个按纽cmddelete,他的单击响应函数该如何写呢?多谢指教。
      

  3.   

    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
      

  4.   

    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这是我的程序写法,你测试一下,应该没有问题的。