2013-09-04 4 views
0

일부 컬럼에 정보를 추가하기 위해 SQL 테이블 편집기를 만들었습니다. 그러나 하나의 열은 "DateTime"으로 설정되어 있으며 응용 프로그램은이를 쓸 수 없습니다.SQL 테이블 편집 : 테이블에 DateTime 값을 추가하십시오.

private void button2_Click(object sender, EventArgs e) 
    { 


try 

{ 
    string connectionString = @"Data Source=" + textBox4.Text + ";" + "Initial Catalog=" + textBox1.Text + ";" + "User ID=" + textBox2.Text + ";" + "Password=" + textBox3.Text; 
    using (SqlConnection connection = new SqlConnection(connectionString)) 
    using (SqlCommand command = connection.CreateCommand()) 
    { 
     command.CommandText = "INSERT INTO user_ban (char_id, status, ban_date, ban_hour, ban_end) VALUES (@char_id, @status, DateTime @ban_date, @ban_hour, @ban_end)"; 

     command.Parameters.AddWithValue("@char_id", "1"); 
     command.Parameters.AddWithValue("@status", "1");   
     command.Parameters.AddWithValue("@ban_date", "1"); 
     command.Parameters.AddWithValue("@ban_hour", "1"); 
     command.Parameters.AddWithValue("@ban_end", "1");    
     connection.Open(); 
     command.ExecuteNonQuery(); 
     MessageBox.Show("Char Banned"); 
    } 
} 
catch (SqlException ex) 
{ 
    MessageBox.Show(ex.Message); 
} 
} 

열 'ban_date'날짜 시간으로 설정됩니다 여기에 코드입니다. 감사합니다.

+1

command.CommandText = "INSERT INTO user_ban (char_id, status, ban_date, ban_hour, ban_end) VALUES (@char_id, @status, DateTime @ban_date, @ban_hour, @ban_end)"; ^^^^^^^^^//delete this 

에서 변경? 말도 안 돼. '1'은 유효한 'DateTime'이 아닙니다. –

+0

테이블에 columsn가 datetimes로 설정되어 있습니까? 이 날짜가 정확하면 "1"을 전달하는 것을 보았습니까? – lemunk

+1

두 번째 오류는 다음과 같습니다 :'... VALUES (...., DateTime @ban_date, ....'VALUES'에 데이터 유형을 지정하지 마십시오 –

답변

4

"1"은 (는) 날짜가 아닙니다. 그것은

command.Parameters.AddWithValue("@ban_date", DateTime.Today); 

에 날짜를 통과 시도하고 ban_date 열이 DateTime입니다

command.CommandText = "INSERT INTO user_ban 
         (char_id, status, ban_date, ban_hour, ban_end) 
         VALUES 
         (@char_id, @status, @ban_date, @ban_hour, @ban_end)"; 
+0

고맙습니다! –

0

경우 그것에 1을 삽입 할 이유 명령 문자열에서 DateTime을 제거? 말도 안 돼. 1은 (는) 올바른 DateTime이 아닙니다. 유효한 DateTime 값으로 변경하십시오.

두 번째로, VALUES 부분에는 값 유형을 사용하지 않아야합니다. ban_date` 열이`DateTime`, 왜 당신이 그것에 1``삽입 할되는`경우

command.CommandText = "INSERT INTO user_ban (char_id, status, ban_date, ban_hour, ban_end) 
         VALUES (@char_id, @status, @ban_date, @ban_hour, @ban_end)"; 
관련 문제