这一步是向数据库中写入数据,其中有一列CYDATE是日期格式的数据,刚开始直接传入了DateTime.Now.Date.ToString()一直没有发现,后来把SQL语句拿到PL/SQL中测试才知道,是日期传递的格式不对。
后来在网上搜到,要传递日期格式要用to_date方法,如:
insert into CUSLOGS(STARTTIME) values(to_date('2009-5-21 18:55:49','yyyy/mm/dd HH24:MI:SS'));
因为这是从后台获取时间再写入数据库,所以要用这种方法转换为日期格式。
后来先将日期获取存放到DateTime变量中,然后对其赋值为当前的系统日期。
整理了新的SQL语句,其中要注意,要把TO_DATE关键字存放到变量中,不然在SQL语句的书写中要用引号这样传到数据库中的语句就无法使用了,下面贴上改完后的SQL语句,和相应的变量赋值。
DateTime datetime1 = DateTime.Parse(DateTime.Now.Date.ToString());//新建DateTime变量存储获取的当前日期
string TO_DATE = "TO_DATE";//新建string变量存储关键字
string sql3 = "Insert into CYRESULTS (CYOID,CYEOID,CYDATE,CYENAME) VALUES ('" + (i+1).ToString() + "','" + (cyno+sum).ToString() + "'," + "('"+ datetime1 + "','yyyy-mm-dd,hh24:mi:ss'),'" + dt1.Rows[i][1].ToString() + "')";//整理和书写新的SQL语句
可以看到sql3已经被赋值为一下语句
断点顺利通过
数据库中也成功添加