Set adoinsert = New ADODB.Recordset
sql = "exec sdqx " + "'" + Combo1.Text + "'" + "," + "'" + convalue + "'"
debug.print sql
adoinsert.Open sql, db, 1, 1

解决方案 »

  1.   

    Set adoinsert = New ADODB.Recordset
    sql = "exec sdqx  '" + Combo1.Text + "','" + convalue + "'"
    debug.print sql
    adoinsert.Open sql, db, 1, 1
      

  2.   

    马可:
    是这样的:
    convalue="mcaption='自来水数据装入' or mcaption='录入磁卡水表' or mcaption='录入磁卡水量' or mcaption='录入自备水单位' or mcaption='录入自备水水量' or mcaption='临时用水计划' or mcaption='录入单耗计划' "
    已经试过了,如果convalue="mcaption='自来水数据装入' or mcaption='录入磁卡水表'"时是没错的,一旦字符增多,就会提示超过128字符云云。
      

  3.   

    '用单引号
    Set adoinsert = New ADODB.Recordset
    sql = "exec sdqx '" + Combo1.Text + "','" + convalue + "'"
    debug.print sql
    adoinsert.Open sql, db, 1, 1
      

  4.   

    '最后这样调用:Dim iCmd As ADODB.Command
    dim adoinsert as ADODB.RecordsetSet iCmd = New ADODB.Command
    With iCmd
        .ActiveConnection = iConc '数据库连接字符串
        .CommandType = adCmdStoredProc
        .CommandText = "sdqx"
        .Parameters.Refresh
        .Parameters(1)= Combo1.Text 
        .Parameters(2)= convalue
        Set adoinsert = .Execute
    End With
      

  5.   

    如下方式处理:
    convalue="mcaption='自来水数据装入' or mcaption='录入磁卡水表' or mcaption='录入磁卡水量' or mcaption='录入自备水单位' or mcaption='录入自备水水量' or mcaption='临时用水计划' or mcaption='录入单耗计划' "
    已经试过了,如果convalue="mcaption='自来水数据装入' or mcaption='录入磁卡水表'"convalue= convalue + " mcaption='自来水数据装入' or mcaption='录入磁卡水表' or mcaption='录入磁卡水量' or mcaption='录入自备水单位' or mcaption='录入自备水水量' or mcaption='临时用水计划' or mcaption='录入单耗计划' "
    已经试过了,如果convalue="mcaption='自来水数据装入' or mcaption='录入磁卡水表'"
    convalue= convalue + " mcaption='自来水数据装入' or mcaption='录入磁卡水表' or mcaption='录入磁卡水量' or mcaption='录入自备水单位' or mcaption='录入自备水水量' or mcaption='临时用水计划' or mcaption='录入单耗计划' "
    已经试过了,如果convalue="mcaption='自来水数据装入' or mcaption='录入磁卡水表'"
      

  6.   

    存储过程是这样的:
    create PROCEDURE sdqx  @realname char(8) , @caption nvarchar(2000) as
    declare @sql char(2000),@username char(8)
    select distinct @username=username from y_register where realname=@realname
    delete y_privilege where rtrim(username)=rtrim(@username)
    exec('insert into y_privilege(mcaption) select  mcaption from y_menu  where '+@caption)
    update y_privilege set username=@username where username is null
    GO
    SET QUOTED_IDENTIFIER OFF 
    GO
    SET ANSI_NULLS ON 
    GO
      

  7.   

    存储过程没发现什么问题,用我上面的方法:command对象调用试试.