程序段代码如下:
SQL.Add('begin ');
      SQL.Add('sjob_create_once_everyday(startdatetime =>to_date(:startdatetime,'yyyy-mm-dd'),');
      SQL.Add('iwhattime => to_number(:iwhattime) )');
      SQL.Add('end;');
      SQL.Add(' ');
      Parameters.ParamByName('startdatetime').value:= dtpTimeCx.Date  ;
      Parameters.ParamByName('iwhattime').value := edtTimePer.text;
参数startdatetime为date型,iwhattime为interger型,dtpTimeCx为datatimepicker,edtTimePer为Tedit.
请问为何在程序运行时,系统提示不兼容的类型。存储过程是正确的

解决方案 »

  1.   

    edtTimePer.text的類型為String,而你的參數iwhattime为interger型﹐會不會是這里的問題呢﹖
      

  2.   

    不是。我已经在sql 中进行to_number转换。程序提示‘')' expected but identifier 'yyyy' found’
      

  3.   

    你知道吗, 飘号(')在字符串中是用连续的两个飘号来表达的。例如:
    字符串 ' =sql.add('''');
    字符串I'am a programmer! = sql.add('I''am a programmer!')OK,你的问题就是这而已。