我用Bulk Insert批量导入数据到SQL Server中,发现有些数据没有被导入,后来仔细检查发现这些记录都是因为他的Datetime类型的字段有问题,比如,如果是2006-10-19 09:10:00这种就可以导入,而2006-10-19 9:10:00就不行,我给9前面添加个0就可以了,SQL Server必须要求小时是两位的吗?我的数据文件有很多日期时间字段的小时都是一位。好急!但是我不用Bulk Insert导入,单独用一条SQL语句Update一条记录的时候,用2006-10-19 9:10:00可以正常插入,不知道为什么,很烦躁,因为数据比较多,用bulk insert导入比一条一条插入要方便,但是这个时间问题如何解决啊?还有这个Bulk Insert的FIRSTROW参数好像不怎么起作用,有一次试验,我设置它为0,它也是从文件第二行开始,设置为1它也是从第二行开始,设置为2也是从第二行开始。而且文件本来有4行数据,它总是只读取3行,少读一行,不知道怎么回事哦!
SQLQuery.SQL.Clear;
SQLQuery.SQL.Add(fsqlString);
SQLQuery.ExecSQL;
2,2880,2006-10-19 8:00:00
2,2880,2006-10-19 9:00:00
2,2880,2006-10-19 10:00:00
这三条记录只有最后一条可以插入,如果我在8,9之前加0就可以插入,为什么?
然后再类型转换,怎么转?一条一条记录去转?那会慢死!
select * from 临时表