В моей форме 6 комбо-боксов. Я сохранил их значения в таблице "TableauCombo", чтобы использовать снова. Я установил «для» просмотра таблицы и для каждого шага программа должна записывать в переменную «запрос» все значения, которые есть в таблице. (Создать SQL-запрос). Затем я запускаю запрос SQL и должен записать значения в виде списка. У меня есть некоторые ошибки, но я не могу их исправить. Вы можете мне помочь?
Я поставил код и ошибки под
string[] TableauCombo = new string[7];
{
TableauCombo[0] = "ID_Rad=@" + CatégorieRadiologique_ComboBox_Home.SelectedIndex.ToString();
TableauCombo[1] = "Code_Etat=@" + CodeEtatFS_ComboBox_Home.SelectedIndex.ToString(); ;
TableauCombo[2] = "Code_Producteur=@" + Producteur_ComboBox_Home.SelectedIndex.ToString();
TableauCombo[3] = "Code_Centre=@" + Centre_ComboBox_Home.SelectedIndex.ToString();
TableauCombo[4] = "Code_StationdeDestination=@" + StationDestination_ComboBox_Home.SelectedIndex.ToString();
TableauCombo[5] = "Code_Conditionnement=@" + Conditionnement_ComboBox_Home.SelectedIndex.ToString();
};
string requery = "";
for (int i = 0; i < TableauCombo.Length; i++)
{
requery = requery + TableauCombo[i];
}
LW_FS_Home.Items.Clear();
MySqlCommand cmd = new MySqlCommand("SELECT FS FROM cdh.fiche WHERE " + requery + " ", connection); // Requète SQL SELECT
MessageBox.Show("Requery" + requery + "");
cmd.Parameters.AddWithValue("@ID_Rad", CatégorieRadiologique_ComboBox_Home.SelectedIndex.ToString()); //Récupération du ID_Rad souhaité par l'utilisateur
cmd.Parameters.AddWithValue("@Code_Etat", CodeEtatFS_ComboBox_Home.ToString()); //Récupération du Code_Etat souhaité par l'utilisateur
cmd.Parameters.AddWithValue("@Code_Producteur", Producteur_ComboBox_Home.ToString()); //Récupération du Code_Producteur souhaité par l'utilisateur
cmd.Parameters.AddWithValue("@Code_Centre", Centre_ComboBox_Home.ToString()); //Récupération du Code_Centre souhaité par l'utilisateur
cmd.Parameters.AddWithValue("@Code_StationdeDestination", StationDestination_ComboBox_Home.ToString()); //Récupération du Code_StationdeDestination souhaité par l'utilisateur
cmd.Parameters.AddWithValue("@Code_Conditionnement", Conditionnement_ComboBox_Home.Text); //Récupération du Code_Conditionnement souhaité par l'utilisateur
if (Connecté)
{
using (MySqlDataReader Lire = cmd.ExecuteReader())
{
while (Lire.Read()) // Boucle While qui regarde toutes les infos que l'on souhaite voir avec la méthode "lire"
{
string FS = Lire["@FS"].ToString(); // Declaration des colonnes et leurs équivalents (remplacants)
string ID_Rad = Lire["@ID_Rad"].ToString();
string Code_Etat = Lire["@Code_Etat"].ToString();
string Code_Producteur = Lire["@Code_Producteur"].ToString();
string Code_Centre = Lire["@Code_Centre"].ToString();
string Code_StationdeDestination = Lire["@Code_StationdeDestination"].ToString();
string Code_Conditionnement = Lire["@Code_Conditionnement"].ToString();
LW_FS_Home.Items.Add(new ListViewItem(new[] { FS, ID_Rad, Code_Etat, Code_Producteur, Code_Centre, Code_StationdeDestination, Code_Conditionnement }));// Ajout des nouvelles valeurs dans la list view
}
}
connection.Close();
}
else
{
MessageBox.Show("Erreur de connexion");
}
}
Ошибка:
"MySqlException: параметр '@ 1' должен быть определен."
Но программа может работать сама. (Комментарий: проверка конца) Возвращаемое значение: "RequeryID_Rad = @ 1 + ..........". (Фото) ОШИБКА
Просто чтобы быть в явном виде, весь комбобокс объявлен так:
try //Début Try/Catch pour le ComboBox des catégorie Radiologiqque
{
connection.Open();
CatégorieRadiologique_ComboBox_Home.DropDownStyle = ComboBoxStyle.DropDownList; //ReadOnly sur la comboBox
string selectQuery = "SELECT ID_Rad , Radiologique FROM cdh.ctg_rad";
MySqlCommand command = new MySqlCommand(selectQuery, connection);
MySqlDataReader reader = command.ExecuteReader();
while (reader.Read()) {
CatégorieRadiologique_ComboBox_Home.Items.Add(reader.GetString("Radiologique"));
string[, ] TableauRad = new string[1, 2] {
{
"ID_Rad", "Radiologique"
},
};
}
connection.Close();
} catch (MySqlException cn)
{
MessageBox.Show(cn.Message);
connection.Close();
}
Я думаю, что мое "за" это неправильно или ссылка с idk просмотра списка ..