我如何在VB,中使用存储过程和触发器,以前未使用过。不知道该如何使用,请大虾们帮助我,请讲解一下实践的过程。

解决方案 »

  1.   


    Option Explicit
    Private mConn As ConnectionPrivate 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 SubPrivate 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.RefreshEnd SubPrivate Sub Command3_Click()
    Dim rs As ADODB.Recordset
    Set rs = New ADODB.Recordset
    rs.Open "select table1.eid,table1.etype,table1.econtent,table1.edate from table1,(select eid,etype,econtent from table1 where econtent='[email protected]' ) a,(select eid,etype,econtent from table1 where econtent='[email protected]') b where table1.eid=a.eid and table1.eid=b.eid and table1.edate>='" & Text1.Text & "' and table1.edate<='" & Text2.Text & "'", mConn, 1, 3
    MsgBox rs.RecordCount
    'rs.Fields ("")
    End SubPrivate Sub Form_Load()
        'open the connection
        Set mConn = New Connection
        
        mConn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Test;Data Source=yang"
        mConn.Open
        Dim rs As New ADODB.Recordset
        Set rs = New ADODB.Recordset
        rs.Open "users", mConn, adOpenStatic, adLockPessimistic
        
    '    MsgBox rs.RecordCountEnd SubPrivate Sub Form_Unload(Cancel As Integer)    mConn.Close
        Set mConn = Nothing
    End Sub
      

  2.   

    存储过程
    CREATE PROCEDURE insert_users @truename char(20), @regname char(20),@pwd char(20),@sex char(20),@email char(20)
    AS
    insert into users(truename,regname,pwd,sex,email) values(@truename,@regname,@pwd,@sex,@email)
    GOCREATE PROCEDURE select_users 
    AS
    select * from users
    GO