vc中字符日期到数据库日期的转化

来源:互联网 发布:php序列化和反序列化 编辑:程序博客网 时间:2024/05/29 10:06

在向Oracle数据库添加数据库时出现 “ ORA-01861 文字与数据字符串不匹配的错误 ”。

原Sql语句为 

           str.Format("insert into table_name1  values('%s','%s')",start_time,end_time);

Oracle数据库中日期为DATE类型。由此可以看出,vc中在执行INSERT INTO SQL语句时

不会将CString类型的时间信息自动转化Oracle数据库要求的DATE类型,因此需要在添加

记录前进行类型转化。 

     这里需要用到的函数:   to_date(Original_type,"DateType")

参数说明:

     这里DateType是数据库要求的日期时间格式 如  yyyy-mm-dd hh24:mi:ss

   Orignal_type为需要转化的数据类型,可以是CString,char* 等字符类型

        修改后的Sql语句为:

     str.Format("insert into table_name1 values(to_date('%s','yyyy-mm-dd hh24:mi:ss'),\

               to_date('%s','yyyy-mm-dd hh24:mi:ss'))",start_time,end_time);

编译后程序正确执行

原创粉丝点击