在MFC中对数据库进行操作,由一个表示时间的字符串 char time[] = "2010-09-11 13:40:30";现在想将其插入Oracle数据库的表中,使用 INSERT INTO table1(date) VALUES( ToDate(time,'yyyy-mm-dd HH24:mm:ss')) 提示出错,但是写成
INSERT INTO table1(date) VALUES( ToDate(‘2010-09-11 13:40:30’,'yyyy-mm-dd HH24:mm:ss'))就不会出错,
请问怎么时什么问题啊?以及怎么转换字符串? 

解决方案 »

  1.   

    time转换为字符串,再拼接字符串成
    INSERT INTO table1(date) VALUES( ToDate(‘2010-09-11 13:40:30’,'yyyy-mm-dd HH24:mm:ss'))后插入数据库
      

  2.   

    你的time是char型的数组,不是字符串!要先转换成字符串才能做。
      

  3.   

    字符(char)数组,能像你那样的赋值?是不是要换成字符串数组?
    string  time[] = "2010-09-11 13:40:30";
    访问第一个数组的元素要用index为0。
    INSERT INTO table1(date) VALUES( ToDate(time[0],'yyyy-mm-dd HH24:mm:ss')) 
      

  4.   

    INSERT INTO table1(date) VALUES( ToDate(time,'yyyy-mm-dd HH24:mm:ss')) 如果你的time是变量,则需要赋值才行.
      

  5.   

    你的是字符串的一个数组 肯定是出错的  ToDate(time[0],'yyyy-mm-dd HH24:mm:ss'))  
      

  6.   

    你那个time肯定没转型 所以才会出错。
      

  7.   

    INSERT INTO table1(date) VALUES( To_Date(To_Char(time,'yyyy-mm-dd HH24:mm:ss'),'yyyy-mm-dd HH24:mm:ss'));
    试试这样行吗,todate后面的格式好像要跟你存储的一样吧,如果不一样就会错,好像是这样
      

  8.   

    表字段date是什么类型的:
    --varchar2的话:
    INSERT INTO table1(date) VALUES( ToDate(time,'yyyy-mm-dd HH24:mm:ss'));
    --date型的话:
    INSERT INTO table1(date) VALUES( To_Date(To_Char(time,'yyyy-mm-dd HH24:mm:ss'),'yyyy-mm-dd HH24:mm:ss'));