Cześć,
mam problem z poniższym kodem, a konkretnie z linijką:
komenda.ExecuteNonQuery();
Nie mam pojęcia dlaczego insert nie chce się wykonać i pojawia się exception:
"Nieprawidłowy format ciągu wejściowego".
Tabela, do której chce zrobić insert ma 3 kolumny: id (int primary key auto_increment), id_sekcji (int), opis (text).
Bardzo proszę o jakąkolwiek pomoc i z góry dziękuję za wszystkie wskazówki.
public static void WprowadzWymaganieDoBazy(List<string> symbole, List<string> wymagania)
{
string myConnection = "datasource=localhost;port=3306;username=root;password=root";
MySqlConnection myConn = new MySqlConnection(myConnection);
MySqlCommand komenda = new MySqlCommand();
string insert = "";
try
{
if (myConn.State == ConnectionState.Closed)
myConn.Open();
for (int i = 0; i < symbole.Count; i++)
{
string pierwsza_litera = symbole[i];
switch((char)pierwsza_litera[0]){
case 'W':
insert = "insert into karty.wymaganie(opis, id_sekcji) values(@Opis, @Id_sekcji)";
komenda.Connection = myConn;
komenda.CommandText = insert;
komenda.Parameters.AddWithValue("@Opis", MySqlDbType.Text).Value = wymagania[i];
komenda.Parameters.AddWithValue("@Id_sekcji",MySqlDbType.Int32).Value = 1;
komenda.ExecuteNonQuery();
break;
case 'U':
insert = "insert into karty.wymaganie(opis, id_sekcji) values(@Opis, @Id_sekcji)";
komenda.Connection = myConn;
komenda.CommandText = insert;
komenda.Parameters.AddWithValue("@Opis", MySqlDbType.Text).Value = wymagania[i];
komenda.Parameters.AddWithValue("@Id_sekcji",MySqlDbType.Int32).Value = 2;
komenda.ExecuteNonQuery();
break;
case 'K':
insert = "insert into karty.wymaganie(opis, id_sekcji) values(@Opis, @Id_sekcji)";
komenda.Connection = myConn;
komenda.CommandText = insert;
komenda.Parameters.AddWithValue("@Opis", MySqlDbType.Text).Value = wymagania[i];
komenda.Parameters.AddWithValue("@Id_sekcji",MySqlDbType.Int32).Value = 3;
komenda.ExecuteNonQuery();
break;
}
}
}
catch(Exception ex)
{
string blad = string.Format("Bląd podczas zapisu: {0}", ex.Message);
MessageBox.Show(blad, "Błąd", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
myConn.Close();
}
}