2013-06-10 3 views
0

나는 다음과 같은 데이터 객체가 있습니다오류 변환하는 데이터 형식 SQL 서버 CE

{ 
    "ItemID": "0000000", 
    "ConsignmentID": "0000000", 
    "CountryCreateDate": "24/05/2013 3:20:02 a.m.", 
    "Reference": "00000000", 
    "Packaging": "0", 
    "Weight": "0", 
    "WeightCubic": "0", 
    "Length": "0", 
    "Width": "0", 
    "Height": "0", 
    "seqNumber": "0", 
    "DatePrinted": "", 
    "ad_Excess": "0", 
    "Price_Cost": "", 
    "Price_Other": "", 
    "Price_OtherTypeID": "", 
    "FailedReason": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", 
    "packedInCustomID": "", 
    "UpdateDateUTC": "6/06/2013 9:55:05 p.m.", 
    "PrintedByCustomerUserID": "" 
} 

이것은 SQL Server CE 데이터베이스에 직접 삽입 ExecuteNonQuery를 사용하여, 아무것도 그와 함께 잘못되거나 방법은 그것이 삽입되는 테스트를 거쳐 많이 사용되었습니다. 다음 스키마 테이블에 데이터를 삽입 할 때

나는 오류 얻을 : 나는 이상과 데이터를 통해 검토 한 결과

There was a syntax error while converting from one data type to another. [ Expression = ]

enter image description here

을 장소에서 아무것도 할 것 같다 . 날짜 등을 변환해야합니까? 모든 것은 문자열이므로 모두 NVarChar 유형으로 삽입됩니다.

는 날짜 형식은 형식도 d/MM/yyyy h:mm:ss tt

내가 사용하는 삽입 쿼리는 다음과 같습니다

당신은 날짜 형식을 변경해야
INSERT INTO example 
(
    ItemID, 
    ConsignmentID, 
    CountryCreateDate, 
    Reference, 
    Packaging, 
    Weight, 
    WeightCubic, 
    Length, 
    Width, 
    Height, 
    seqNumber, 
    DatePrinted, 
    ad_Excess, 
    Price_Cost, 
    Price_Other, 
    Price_OtherTypeID, 
    FailedReason, 
    PackedInCustomID, 
    UpdateDateUTC, 
    PrintedByCustomerUserID 
) VALUES (
    @ItemID, 
    @ConsignmentID, 
    @CountryCreateDate, 
    @Reference, 
    @Packaging, 
    @Weight, 
    @WeightCubic, 
    @Length, 
    @Width, 
    @Height, 
    @seqNumber, 
    @DatePrinted, 
    @ad_Excess, 
    @Price_Cost, 
    @Price_Other, 
    @Price_OtherTypeID, 
    @FailedReason, 
    @PackedInCustomID, 
    @UpdateDateUTC, 
    @PrintedByCustomerUserID 
) 
+0

?? 음. 귀하의 의견 설명? – FabianCook

답변

2

는 : 대신 24/05/2013

의 20,130,524 시도

일부 국가에서는 DD/MM을 수행하고 다른 국가에서는 MM/DD를 수행하기 때문에 SQL 서버는 날짜가 모호한 형식을 고려합니다. 허용되는 형식은 Date and Time Formats입니다. 일반적으로 'YYYYMMDD'와 (과) 함께 있지만 대시는 괜찮습니다.

편집 : 또한 NUMERIC 데이터 형식은 빈 문자열을 허용 할 수 없습니다. Price_Cost 및 Price_Other 필드에 대해 다른 데이터 유형을 선택하거나 빈 문자열 ''대신 '0'을 제공해야합니다.

SqlCeDataAdapter 선택 명령 용도로 .toString에
+0

이것은 댓글에 대한 답변보다 더 많은 것으로 보입니다. 나는 그것을 시도 할 것이다. – FabianCook

+0

그 방법을 어떻게 제안 하시겠습니까? – FabianCook

+0

데이터의 출처는 어디입니까? –

0

() 메소드와 같은 형식이 날짜 이후 :

CONVERT(DATETIME, '" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "', 102)"; 
관련 문제