exec sp_executesql N'INSERT INTO "eLinkHR".."A001A001" 
("ID","IDCard") 
VALUES 
(@P1,@P2)',N'@P1 
varchar(32),@P2 datetime,''123','1899-12-30
00:00:00:000',下面的时间,他会自动的回车到下一行,导致sql出错,无法将varchar转换为datetime,请问这个问题有人遇到过么,怎么解决?上面只是例子,当然参数还是很多的。。exec sp_executesql N'INSERT INTO "eLinkHR".."A001A001" 
("ID","IDCard","unitID","DepartmentID","OrderID","Name","SexCode","Birthday","FolkCode","kaiserdomCode","kaiserdomDate","MobilePhone","BX1","BX2","BX3","BX4","BX5","Memo","WeaveFile","WeaveOutDate","WeaveSortCode","WeaveStateCode","PersonSortCode","OutlayCode","WorkDay","InUnitDay","InUnitFormCode","FirstDutyCode","SecondDutyCode","DutyTitle","ZhiChengCode","ZhiChengLevelCode","StationCode","Source","DegreeCode","StudyCode","Speciality","FinishSchool","FinishSchoolDate","CtrlNumber","HighCollocate","CivilianEnrol","CadreSort","EnjoyDealLevel","Mon_Act","DoNoMatch","IsConSB","PickDate","WSp","WSpC","UpgDate","GetDate","ManStation","SpeStation","WorStatiion","IsDoubleDu") 
VALUES 
(@P1,@P2,@P3,@P4,@P5,@P6,@P7,@P8,@P9,@P10,@P11,@P12,@P13,@P14,@P15,@P16,@P17,@P18,@P19,@P20,@P21,@P22,@P23,@P24,@P25,@P26,@P27,@P28,@P29,@P30,@P31,@P32,@P33,@P34,@P35,@P36,@P37,@P38,@P39,@P40,@P41,@P42,@P43,@P44,@P45,@P46,@P47,@P48,@P49,@P50,@P51,@P52,@P53,@P54,@P55,@P56)',N'@P1 
varchar(32),@P2 varchar(18),@P3 int,@P4 int,@P5 int,@P6 varchar(3),@P7 varchar(1),@P8 datetime,@P9 varchar(2),@P10 varchar(2),@P11 datetime,@P12 varchar(1),@P13 bit,@P14 bit,@P15 bit,@P16 bit,@P17 bit,@P18 varchar(8),@P19 
varchar(1),@P20 datetime,@P21 varchar(8),@P22 varchar(2),@P23 varchar(6),@P24 varchar(1),@P25 datetime,@P26 datetime,@P27 varchar(2),@P28 varchar(1),@P29 varchar(4),@P30 varchar(7),@P31 varchar(4),@P32 varchar(1),@P33 
varchar(1),@P34 varchar(4),@P35 varchar(3),@P36 varchar(2),@P37 varchar(2),@P38 varchar(3),@P39 datetime,@P40 varchar(1),@P41 bit,@P42 bit,@P43 varchar(1),@P44 varchar(4),@P45 int,@P46 bit,@P47 bit,@P48 datetime,@P49 
varchar(1),@P50 varchar(1),@P51 datetime,@P52 datetime,@P53 varchar(1),@P54 varchar(1),@P55 varchar(1),@P56 bit','F766453C7C0E4F1A9F647BBF02BB48FA','222222222222222222',28567,62673,2,'222','2',''2013-05-25 
00:00:00:000'','01','05',NULL,'',0,0,0,0,0,'22222222','2',NULL,'01010507','01','010107','',''1899-12-30 00:00:00:000'',''1899-12-30 
00:00:00:000'','04','','0207','2222222','0502','','','转任','303','31','33','333',''1899-12-30 00:00:00:000'','',0,0,'3','0401',0,0,0,''1899-12-30 00:00:00:000'','','',''1899-12-30 00:00:00:000'',''1899-12-30 
00:00:00:000'','','','',0

解决方案 »

  1.   

    具体看你的代码和数据库,光看你Monitor到的结果,我表示无能为力!
      

  2.   

    你那个不是时间格式,当然无法转换……你 SELECT GETDATE() 看看人家格式和你一样么?1899-12-30 00:00:00.000
      

  3.   

    怎么不一样啊?
    测试了下,不是这个原因。。这样回车后的格式,自己复制到sqlserver里无法运行成功,但delphi是能运行成功的。