在向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);
编译后程序正确执行