2012-05-16 3 views
0

데이터베이스 필드에 dateTime이 있고, DateTimePicker 컨트롤이 창에 추가되었으므로 날짜를 선택하지 않았 으면합니다. 데이터베이스에 아무것도 입력하지 않습니다. 다음 코드를 시도했습니다. 그리고 오류를 반환합니다. 누구나 아이디어를 가지고 있습니까? 내가 WPF, C# 및 액세스 DBwpf에서 DateTimePicker가 선택되어 있지 않습니다.

try 
{ 
    string insert_query = "INSERT INTO dbo_tasks (Date_Created, write_From, Task_To) " + 
          "VALUES ('" + DP_date.SelectedDate + "', " + txt_from.SelectedValue + ", " + txt_to.SelectedValue + ")"; 

    con1.Open(); 
    OleDbCommand cmd = new OleDbCommand(insert_query, con1); 
    cmd.ExecuteNonQuery(); 
} 
catch (Exception) 
{ 

    MessageBox.Show(""); 
} 
con1.Close(); 
+0

'catch (Exception e)'및 'MessageBox.Show ("");를'MessageBox.Show (e.Message);로 변경하십시오. 그렇게하면 오류가 표시됩니다. –

+0

'Date_Created'는 DB의 null 가능 datetime 필드입니까? –

+0

예,이 문자열처럼 쓰면 insert_query = "INSERT INTO dbo_tasks (Date_Created, write_From, Task_To) VALUES ('"+ null + "',"+ txt_from.SelectedValue + ","+ txt_to.SelectedValue + ")"; 작동합니다 – user1095549

답변

1

일하고 당신은 더 날짜가 다음 선택되어 있지 않은 경우는 것을 로직을 추가해야합니다.

"('+ 널 +', '+ txt_from.SelectedValue +', '+ + txt_to.SelectedValue

문제가 있다는 것이다 dbo_tasks (DATE_CREATED, write_From, Task_To) VALUES") "INSERT INTO"'DP_date .SelectedDate는 날짜를 선택하지 않으면 null을 반환하지 않습니다.

이렇게하면 dbnull과 같이 null이 삽입됩니다. 날짜 널

INSERT INTO [시험] 받아들이 smalldatetime으로이다. DBO]. DATERANGE] ([ID] [일자]) VALUES 는 ('1000', NULL) 갈

+0

그런 논리에 대한 아이디어가 있습니까? – user1095549

+0

datePicker1.SelectedDate.HasValue – Paparazzi

+0

기본적으로 우수 작품에 주어진 대답입니다. 하지만 각 변수가 NULL 값이 아니라 "NULL"이되는 방식에 대한 아이디어를 얻을 수는 없습니다. 아무도 아이디어가 없나요? – user1095549

관련 문제