2014-09-10 8 views
-4
string query2 = "INSERT INTO library_database.status_of_issue VALUES('"; 
query2 = query2 +textBox2.Text + "','"; 
query2 = query2 + textBox1.Text + "', CURDATE(),ADDDATE(CURDATE(), INTERVAL 14 DAY)"; 
cmd = new MySqlCommand(query2, con); 
MySqlDataReader d1 = cmd.ExecuteReader(); 
MessageBox.Show("Issed..."); 
d1.Close(); 
+0

Погрешности приходит, что есть ошибка в SQL синтаксиса. –

+0

Можете вы добавить сообщение об ошибке? – EWit

ответ

0

Отсутствие закрытия parenthesys для пункта VALUES, но ваш запрос должен быть переписан, чтобы избежать Sql Injection и запрос INSERT выполняется с ExecuteNonQuery

string query2 = @"INSERT INTO library_database.status_of_issue VALUES(@p1, @p2, 
        CURDATE(),ADDDATE(CURDATE(), INTERVAL 14 DAY))"; 
cmd = new MySqlCommand(query2, con); 
cmd.Parameters.AddWithValue("@p1", textBox2.Text); 
cmd.Parameters.AddWithValue("@p2", textBox1.Text); 
int rows = cmd.ExecuteNonQuery(); 
if(rows > 0) 
    MessageBox.Show("insert OK..."); 
0

Так что очень очевидно. Вам не хватает финальной части VALUES. Это должно работать:

string query2 = string.Format("INSERT INTO library_database.status_of_issue VALUES('{0}', '{1}', CURDATE(), ADDDATE(CURDATE(), INTERVAL 14 DAY))", textBox2.Text, textBox1.Text); 

using(var cmd = new MySqlCommand(query2, con)) 
{ 
    if(cmd.ExecuteNonQuery() > 0) 
     MessageBox.Show("Issed..."); 
} 

отметить также, что INSERT, UPDATE и DELETE команда должна быть выполнена с использованием ExecuteNonQuery().