2013-03-04 1 views
0

C#에서 SQL Server로 날짜를 삽입하는 동안 문제가 발생했습니다. C#에서 DateTime에있는 SQL Server에있는 열에 날짜를 삽입하는 올바른 방법은 무엇입니까?문자열 날짜 (jquery datepicker 사용)를 날짜 시간으로 변환하는 올바른 절차 C#

현재 내 방법은 문자열 날짜를 DateTime 형식으로 변환 한 다음 데이터베이스에 삽입하는 것입니다.

Datetime dt = Convert.ToDateTime(txtDate.Text.Trim()); 

그렇기 때문에 현재 시스템 날짜가 새로 변환 된 날짜와 충돌하는 오류가 발생했습니다. 문자열 날짜를 데이터베이스에 삽입하는 올바른 방법은 무엇입니까?

+1

같은 매개 변수 쿼리를 만드시겠습니까? 문자열을'DateTime'로 변환하거나'DateTime'을 데이터베이스에 삽입 할 때? 후자라면 INSERT를 수행하는 코드를 보여주십시오. –

+0

질문을 업데이트했으며 jquery datetime 형식 (mm/dd/yyyy)이 시스템 날짜 형식 (예 : dd/mm/yyyy)과 충돌 할 때 발생합니다. – Kannan

답변

1

SqlParameter을 사용하고 parameterized query을 형성하십시오. 그런 식으로 .Net DateTime 개체를 SQL Server에 전달합니다. 귀하의 질문에 대한

using (SqlConnection con = new SqlConnection("yourconnectionstring")) 
using (SqlCommand cmd = new SqlCommand("INSERT into yourTable([DateCol]) VALUES (@pDate)", con)) 
{ 
    cmd.Parameters.AddWithValue("@pDate", DateTime.Now); 
    con.Open(); 
    cmd.ExecuteNonQuery(); 
} 

: 같은

뭔가

데이터베이스에 문자열 날짜를 삽입하는 올바른 방법은 무엇입니까?

하지 마십시오. 대신 날짜 문자열을 DateTime 개체로 변환 한 다음 매개 변수가있는 쿼리를 사용하여 데이터베이스에 삽입하십시오. 귀하의 코멘트를 들어

:

어떻게 문자열 날짜 날짜 형식 (JQuery와 날짜 선택기를 사용하여이) 변환합니다?

datetime picker의 형식으로 DateTime.ParseExact을 사용하고이 문자열을 DateTime 개체로 변환 할 수 있습니다. 예를 들어

은 날짜 시간 선택기 형식 인 경우 : mm/dd/yyyy 다음 당신은 시도 할 수 있습니다 :

DateTime dt = DateTime.ParseExact(dateString, "mm/dd/yyyy", CultureInfo.InvariantCulture); 
+0

너무 멀리 앞서 갔다고 생각합니다. 내 질문은 다음과 같습니다. 어떻게 문자열 날짜 (jquery datepicker 사용) datetime 형식으로 변환 할 것입니다? – Kannan

+0

@Kannan,'jquery date picker 사용하기 - 매우 중요한 정보이지만 질문에서 빠져 있습니다. :) – Habib

+0

고맙습니다. 제가 찾고 있던 것이 었습니다. 'CultureInfo.InvariantCulture'는 무엇을 설명합니까? – Kannan

0

는 정확히 "충돌"입니다이

SqlCommand cmd = new SqlCommand ("insert into T (...) values (@d",db); 
cmd.Parameters.AddWithValue("@d",Convert.ToDateTime(txtDate.Text.Trim()); 
//... 
관련 문제