关注,我从来没有在ASP或者JSP里调用过存储过程

解决方案 »

  1.   

    当成字符串,传递给SQL SERVER执行就可以了。你到ASP版,将很容易解决。
      

  2.   

    用ADDTOBACCOINFO:
    <%set con=server.createobject("adodb.connection")
    con.open "provider=SQLOLEDB;data source=myserver;UID=sa;PWD=;database=mydb"
    con.execute("ADDTOBACCOINFO 'abc',12,10")
    %>或
    <%set con=server.createobject("adodb.connection")
    con.open "provider=SQLOLEDB;data source=myserver;UID=sa;PWD=;database=mydb"
    con.ADDTOBACCOINFO "abc",12,10
    %>用GETTOBACCOINFO:
    <%set con=server.createobject("adodb.connection")
    con.open "provider=SQLOLEDB;data source=myserver;UID=sa;PWD=;database=mydb"
    set rs=con.execute("GETTOBACCOINFO 1")
    while not rs.eof
       response.write rs("tbName") & "<br>"
       response.write rs("tbDate") & "<br>"
       response.write rs("tbPrice") & "<br>"
       response.write rs("tbNumric") & "<br>"
       response.write rs("tbTotal") & "<br>"
    wend
    %>
      

  3.   

    上面写错了一点:
    用GETTOBACCOINFO:
    <%set con=server.createobject("adodb.connection")
    con.open "provider=SQLOLEDB;data source=myserver;UID=sa;PWD=;database=mydb"
    set rs=con.execute("GETTOBACCOINFO 1")
    while not rs.eof
       response.write rs("tbName") & "<br>"
       response.write rs("tbDate") & "<br>"
       response.write rs("tbPrice") & "<br>"
       response.write rs("tbNumric") & "<br>"
       response.write rs("tbTotal") & "<br>"
       rs.movenext
    wend
    %>另外用COMMAND对象执行也可以。
    <%set con=server.createobject("adodb.connection")
    con.open "provider=SQLOLEDB;data source=myserver;UID=sa;PWD=;database=mydb"
    set mycommand=server.createobject("adodb.command")
    set mycommand.activeconnection=con
    mycommand.commandtype=adcmdstoredproc
    mycommand.commandtext="ADDTOBACCOINFO"
    mycommand.parameters.append mycommand.createparameter ("IdOfTobacco",adinteger,adparaminput,1)
    mycommand.parameters("IdOfTobacco")=1
    set rs=mycommand.execute()
    while not rs.eof
       response.write rs("tbName") & "<br>"
       response.write rs("tbDate") & "<br>"
       response.write rs("tbPrice") & "<br>"
       response.write rs("tbNumric") & "<br>"
       response.write rs("tbTotal") & "<br>"
       rs.movenext
    wend
    %>
      

  4.   

    谢谢大家,我主要是对在过程中调用有些参数不知道具体怎么样传输?
    我给出一个客户端的HTML程序,大家用一个具体的例子实现信息的插入与显示好吗?<html>
    <title>烟草销售网上上报信息系统</title>
    <body>
      <form method=”post” action=http://localhost/wwwroot/report.asp id=form name=form>
      烟草编号:<input type=”text” name=”idTobacco”><br>
      烟草名字:<input type=”text” name=”tbName”><br>
      …………
      <input id=submit1 name=submit1 type=submit value=提交>
      <input id=reset1 name=reset1 type=reset value=复位>
    </form>
    </body>
    </html>conection.asp
    程序中数据源DSN:TB、用户名:administrator、口令:tobacco。<%@ LANGUAGE="VBSCRIPT" 
       ENABLESESSIONSTATE = False %>
    <%
    Option Explicit
    Response.Buffer = True
    Response.Expires = 0function GetDataConnection()
       dim oConn, strConn
       Set oConn = Server.CreateObject("ADODB.Connection")
       strConn = "Provider=SQLOLEDB; Data Source=TB; "
       strConn = strConn & "User Id=administrator; Password=tobacco"
       oConn.Open strConn
       set GetDataConnection = oConn
    end function
    %>
    可以直接调用我设计的连接函数来实现,主要用一个实际的例子来表现如何对具体的参数进行传递?
    谢谢各位了。
      

  5.   

    你直接调用
      Set Rs = oConn.Execute("GetTobaccoInfo 123")
    就可以了!如果一定要标准用法,使用AdoCmd,
    Set CmdRemote = Server.CreateObject("Adodb.Command")
    CmdRemote.ActiveConnection = CmdRemote
    CmdRemote.CommandType = AdStoredProc
    CmdRemote.CommandText = "GetToBaccoInfo"
    CmdRemote.Parameters.RefreshBy the way,分太少:)
    CmdRemote.Parameters("@IdOfTobacco").Value = 123
    Set Rs = CmdRemote.Execute
      

  6.   

    example:
    假定sp_view是一个存储过程,主要从表中读取纪录,这个存储过程有一个参数:year.a.htm
    <html>
    <body>
    <form action="view.asp" method="post">
    <input type="text" name="year"></input>
    <input type="submit" name="submit" value="submit"></input>
    </form>
    </form>
    </body>
    </html>view.asp
    <%
        Dim cYear,rsView
        cYear=Request.Form("Year")
        Set rsView=Server.CreateObject("ADODB.RecordSet")
        rsView.CursorType=3
        rsView.LockType=3    rsView.Open "exec sp_view '" & Year & "'"
        ......%>
      

  7.   

    刚才的有点小错 
      example:
    假定sp_view是一个存储过程,主要从表中读取纪录,这个存储过程有一个参数:year.a.htm
    <html>
    <body>
    <form action="view.asp" method="post">
    <input type="text" name="year"></input>
    <input type="submit" name="submit" value="submit"></input>
    </form>
    </body>
    </html>view.asp
    <%
        Dim cYear,rsView
        cYear=Request.Form("Year")
        Set rsView=Server.CreateObject("ADODB.RecordSet")
        rsView.CursorType=3
        rsView.LockType=3    rsView.Open "exec sp_view '" & Year & "'"
        ......%> 
     
     
      

  8.   

    相信你应该看看:
    http://www.csdn.net/expert/topic/439/439365.xml?temp=.5885126
    给分吧!
      

  9.   

    补充一点:
    调用存储过程得到的结果中可能含有多个结果集。可以用nextrecordset得到下一个结果集,用state属性来判断当前结果集还有没有下一个结果集。