Private Sub Command2_Click()
Dim rs As ADODB.Recordset
Dim p As ADODB.Parameter
Dim c As ADODB.CommandOn Error Resume NextSet rs = New ADODB.Command
Set c.ActiveConnection = db
c.CommandText = "countprice"
c.CommandType = adCmdStoredProcc.Parameters.Refresh
c.Parameters("@type").Value = Text2.Textdb.Errors.ClearSet rs = c.Execute
If db.Errors.Count > 0 Then
WriteError
Else
Status Bar1.simpletext = "response:" & FormatNumber(rs.Fields(0).Value, 0)
End If
 End Sub
执行时不出结果,提示WriteError没定义,请是问怎么回事?如有需要请留下代码,谢谢!
我的存储过程如下:
CREATE PROCEDURE reservationshow (@rid char(6))
AS
select *from reservations where roomno=@ridreturn

解决方案 »

  1.   

    online的文章
    http://dev.csdn.net/develop/article/32/32331.shtm
      

  2.   

    用一條sql語句代碼
    sql="exec procName 參數1﹐參數2﹐參數3...."OK﹗
      

  3.   

    用代碼也可以﹗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
        
        Dim s As Single
        s = Val(Format(Text1.Text, "Fixed"))
        Set param = cmd.CreateParameter("sl", adSingle, adParamInput, 50, s)
        cmd.Parameters.Append param
        Set rs = cmd.Execute
        
    '    Cmd_Tjjl.Parameters("@zwrq") = Format(Zwrq.Value, "yyyy-mm-dd")
     '   Cmd_Tjjl.Parameters("@zh") = Zh.Text
       ' .....
      '  Cmd_Tjjl.Parameters("@bz2") = Bz2.Text
        'Cmd_Tjjl.Parameters("@czy")='11'    
        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 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=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
    存储过程
    CREATE PROCEDURE insert_users @truename char(20), @regname char(20),@pwd char(20),@sex char(20),@email char(20),@sl decimal(19,2)
    AS
    insert into users(truename,regname,pwd,sex,email,sl) values(@truename,@regname,@pwd,@sex,@email,@sl)
    GOCREATE PROCEDURE select_users 
    AS
    select * from users
    GO
      

  4.   

    Private Sub Command2_Click()
    Dim rs As new ADODB.Recordset
    Dim p As ADODB.Parameter
    Dim c As ADODB.Command'On Error Resume Next
    Set c.ActiveConnection = db
    c.CommandText = "countprice"
    c.CommandType = adCmdStoredProc
    c.Parameters("@type").Value = Text2.Text
    if rs.state<.adstateclosed then
       rs.close
    end if
    Set rs = c.Execute
    If db.Errors.Count > 0 Then
       WriteError  'WriteError是什么啊?是函数?是过程?
    Else
      Status Bar1.simpletext = "response:" & FormatNumber(rs.Fields(0).Value, 0)
    End If
     End Sub
      

  5.   

    我的那段程序是书上抄来的,至于WriteError我也不知道是什么!我也想问这个问题,如果可以的话,希望大家多给些例子,我刚接触VB,还不是很懂,请大家多指教,如果我的程序哪里有错误,请大家指出!谢谢大家!