2012-05-16 4 views
0

хочу обновить 4 столбцов в конкретной строке в MySQL с помощью C# .I хотят обновить значениеОбновление нескольких столбцов в Mysql с помощью C# Textboxes

, введенное в текстовых полях в базу данных, если определенное поле уже . Я использую

следующий запрос.

string query = " update orderform set enrolmentexpected = " + 
    textBox2.Text + " stockonhand=" + textBox3.Text + " numberrequired = " 
    + textBox4.Text + " where name = " + textBox1.Text + ";"; 

Я получаю исключение, что есть какая-то ошибка в синтаксисе тузды, но я не в состоянии

найти такие. Является ли мое право запроса или есть какая-то синтаксис ошибка, и есть какой-то способ для

обновления нескольких столбцов

ответ

0
string query = " update orderform set enrolmentexpected = " + 
textBox2.Text + ", stockonhand=" + textBox3.Text + ", numberrequired = " 
+ textBox4.Text + " where name = '" + textBox1.Text + "';" 

догадаться, что название является строкой, и другие два ИНТ

+0

@ user1244383 он работал благодаря; – jaggi

0

Кажется, вы забыли запятую «» после выражения:

string query = " update orderform set enrolmentexpected = " + textBox2.Text + ", stockonhand=" + textBox3.Text + ", numberrequired = " + textBox4.Text + " where name = " + textBox1.Text + ";";

и котировки тоже:

string query = " update orderform set enrolmentexpected = '" + textBox2.Text + "', stockonhand= '" + textBox3.Text + "' , numberrequired = '" + textBox4.Text + "' where name = " + textBox1.Text + ";";

+0

@ dada686 Когда я вхожу предыдущее имя для обновления других столбцов в строке это дает исключение, имя неизвестного столбца, оно принимает значение, введенное в имя столбца, как имя столбца – jaggi

+1

@jaggi Эта ошибка возникает из-за того, что вы забыли поставить запятая и кавычки, поэтому интерпретатор смущен относительно того, кто есть что. – dada686

+1

@jaggi, вы должны посмотреть на ответ Стива, это лучший способ справиться с этой ситуацией. – dada686

0

кажется, что вы не используете одного Qu otes и запятые.
Используйте этот

string query = " update orderform set enrolmentexpected = '" + 
textBox2.Text + "', stockonhand='" + textBox3.Text + "', numberrequired = '" 
+ textBox4.Text + "' where name = '" + textBox1.Text + "';"; 

Это справедливо в случае, если все типы данных типа CHAR или VARCHAR.

2

У вас есть многочисленные проблемы в этой строке.

использовать что-то вроде этого

using(MySqlConnection cn = GetConnection()) 
{ 
    cn.Open(); 
    string queryText = "update orderform set enrolmentexpected = ?en, stockonhand=?st, numberrequired=?num where name = ?name;";  
    MySqlCommand cmd = new MySqlCommand(queryText, cn); 
    cmd.Parameters.AddWithValue("?en", textBox2.Text); 
    cmd.Parameters.AddWithValue("?st", textBox3.Text); 
    cmd.Parameters.AddWithValue("?num", textBox4.Text); // ?? require conversion to Int ??? 
    cmd.Parameters.AddWithValue("?name", textBox1.Text); 
    cmd.ExecuteNonQuery(); 
} 
Смежные вопросы