我以前写程序也用第一种方法,不过后来要传递的变量一多,写SQL语句就累了;后来我就都用参数了,我觉得用第二种方法程序看起来清楚,修改也方便。

解决方案 »

  1.   

    你说的第二种方法是comm.CommandText = "exec byroyalty " & Text1.Text 然后再comm.excute 么?
      

  2.   

    同意hanhf的看法,使用参数查询,建立查询后,下次使用将很方便。
      

  3.   

    若存储过程有返回值,你直接Execute恐怕不能返回值了吧。除此之外好象也没有什么好处:)
      

  4.   

    set recordset=command.execute  可以返回的
      

  5.   

    cocoboy,你说得好象不一定对。Set RecordSet = Conn.Execute 只能返回存储过程返回的结果集若你在T-SQL 中这么写Create Procedure aaa
    as
      

  6.   

    cocoboy,你说得好象不一定对。Set RecordSet = Conn.Execute 只能返回存储过程返回的 结 果 集
    而不是返回值若你在T-SQL 中这么写Create Procedure aaa
    @inputvalue int
    @outputvalue int output
    as
      @outputvalue = @inputvalue + 1
      return
    go用你的方法是不可能用Recordset来返回这个@outputvalue的只能在Command对象的Parameter对象中声明一个Parameter的方向和属性,
    然后在执行过Command.Execute后,@outputvalue会被写到Parameter中。