存储过程的参数怎么在程序中传入?能给出代码最好了.

解决方案 »

  1.   

    Dim Conn, ResultSet
    ' Create Adodb connection object
    set Conn = Server.CreateObject("adodb.connection")
    ' Open the connction to the System DSN 'Xtreme Sample Database 9'
    Conn.Open "Xtreme Sample Database 9","Admin",""
    ' Set the ResultSet object to all of the records which match the criteria of 
    ' Customers in Canada
    set ResultSet = Conn.Execute("SPName 'Canada'")' Pass this Customer Record Set to the Database Controller through
    ' the setDataSource Method
    clientDoc.DatabaseController.setDataSource ResultSet, clientDoc.Database.Tables.Item(0).Alias, "ADORecordset" 
      

  2.   

    关键在于,你用Crystal Report做报表的时候,要选用ado的方式,这样以后在vb代码中,可以将一个动态的ado.recordset传递给报表,无论你想用存储过程或者其他什么方式,只要你获得记录集就可以。
      

  3.   

    enhydraboy(乱舞的浮尘) 
    谢谢你,我在刚开始的时候是使用ODBC(RDO)方式的数据连接,
    然后我改成了,OLE DB(ADO)连接,现在还是一样出错;Error Type:
    Analysis Server (0x80004005)
    Invalid pointer 
    /davidexample/viewado.asp, line 15
    注:代码为(clientDoc.DatabaseController.setDataSource rs, clientDoc.Database.Tables.Item(0).Alias, "ADORecordset" )我是的ASP代码,与VB中一样. Can you help me?
      

  4.   

    我指的是,你在用Crystal Report作报表(*.rpt)的时候选择不同的方式是不同的。我建议你用ado,而且不要自己手写一句select语句,反正以后可以替换的(只要字段名一样就可以了),所以可以随便写一句,注意,字段名和数量要定好,报表可以做下去了,然后再在你的程序中,动态把记录集设上去,clientDoc.DatabaseController.setDataSource rs 就可以了。我建议你,重做一张,试一下。
      

  5.   

    sorry,更正一下"而且不要自己手写一句select语句"-->"而且自己手写一句select语句"
      

  6.   

    谢谢,已可以使用ADO数据源了."自己手写一句select语句"是在哪里手写?我马上结帐.