ADOQUERY调用存储过程,在ADOQUERY的sql.text中写1.sql.Text :='exec show '''+id+''',变量2 ';   如果这里的变量2是数字类型的话格式怎样写阿??

解决方案 »

  1.   

    还有:
    2.在sql server的存储过程里面怎么把一个日期格式化成我想要的格式?
      例如把系统当前日期格式化位(yyyymmdd)?
      

  2.   

    1.sql.Text :='exec show '''+id+''',变量2 ';  
    可以写在这样
    sql.Text :='exec (show '''+id+''','+floattostr(变量2)+')';  2.该设置仅用在将字符串转换为日期值时的解释中。它对日期值的显示没有影响。
    SET DATEFORMAT mdy
    GO
    DECLARE @datevar datetime
    SET @datevar = '12/31/98'
    SELECT @datevar
    GOSET DATEFORMAT ydm
    GO
    DECLARE @datevar datetime
    SET @datevar = '98/31/12'
    SELECT @datevar
    GOSET DATEFORMAT ymd
    GO
    DECLARE @datevar datetime
    SET @datevar = '98/12/31'
    SELECT @datevar
    GO
    3.如果你指的是转换日期显示格式,可以用conert的方式把日期转换成你要的字符串格式
      

  3.   

    数字类型转化为字符串使用函数intostr(数值)
    但是你的语法好像是有问题的!
    如果是用ado组件的话,用adocommand控件很好用的,adocommand.execute,adocommand.parames.parambyname().value就行
    或者这样也是可以的
      ADOStoredProc1.ProcedureName:='存储过程的名称';
      ADOStoredProc1.Parameters.ParamValues['参数1']:=Edit1.Text;
      ADOStoredProc1.Parameters.ParamValues['参数2']:=Edit2.Text;
      ADOStoredProc1.ExecProc;
      

  4.   

    同意楼上的,如果想得到你想要的日期格式的话,请查一下CONVERT或CAST的帮助好了。
    如执行一下语句:SELECT CONVERT(VARCHAR(8),GETDATE(),112)
    就会得到你想要的结果。