2013-05-20 4 views
1

Так что у меня проблемы с gettin некоторые данные в базу данных .. Im действительно застрял, им совсем не нравится C# и еще не выучил все ключевые слова, im не получал никаких ошибок, ничего не добавляет к моей базе данных ,C# register form mysql insert

 textBox2.Text = myPWD; 
     MySqlConnection conn = new MySqlConnection("test") 

     string Query = "INSERT INTO `users`.`coffekeys` (`koffekeys`) VALUES ('values = @val')"; 
     MySqlCommand data = new MySqlCommand(Query, conn); 
     MySqlDataReader myReader; 

      conn.Open(); 
      SelectCommand.Parameters.AddWithValue("@val", this.textBox2.Text); 
      conn.Closed() 

ответ

2

Манипулирование конкатенацией значения при передаче параметров. Не делайте этого в инструкции sql.

string Query = "INSERT INTO `users`.`coffekeys` (`koffekeys`) VALUES (@val)"; 
// other codes 
SelectCommand.Parameters.AddWithValue("@val", "values = " + this.textBox2.Text); 

Причина, по которой параметр не работает, заключается в том, что он был окружен одинарными кавычками. Параметры - это идентификаторы, а не строковые литералы.

Следующая проблема заключается в том, что вы не вызывали ExecuteNonQuery(), который выполнит команду.

Перед закрытием соединения, вызовите ExecuteNonQuery()

// other codes 
data.ExecuteNonQuery(); 
conn.Close(); 
+0

Спасибо! так что мне просто нужно выполнить выполнение команды forfor connose? –

+0

да, вам нужно выполнить его сначала. –

1

Вы должны Google вокруг, и вы получите много контента Вам необходимо запустить ExecuteNonQuery

SqlConnection con = new SqlConnection(constring); 
con.Open(); 

SqlCommand cmd = new SqlCommand(
    "insert into st (ID,Name) values ('11','seed');", con); 

cmd.ExecuteNonQuery(); 
cmd.Close(); 
+0

Спасибо, хотя я использовал mysql –

+0

cmd.ExecuteNonQuery(); Будет творить чудеса для вас. –

+0

Это ошибка, которую я получаю, что может быть неправильным? Неверное целочисленное значение: «volum = @val» для столбца «koffekeys» в строке 1 conn.Open(); data.Parameters.AddWithValue ("@ val", this.textBox2.Text); data.ExecuteNonQuery(); conn.Close(); –