Comment ajouter des éléments de la zone de liste déroulante à partir de SQL db?
J'ai besoin d'ajouter les articles à la boîte combo de SQL
db .Dans mon formulaire vais avoir 1 combo box(pour les articles) et 1 textbox
(pour les valeurs). J'ai besoin de charger des éléments à la fois à partir de la table DB et la valeur de textbox
doit être choisi en fonction de la valeur de la liste déroulante.
par exemple:
combobox textbox
--------------------------
Items price
sss 100
ddd 140
fff 220
La zone de texte valeur doit être sélectionné automatiquement lorsque la zone de liste déroulante valeur est sélectionnée.
private void Form4_Load(object sender, EventArgs e)
{
con = new SqlConnection("data source=PC\\SQLEXPRESS;integrated security=true;Initial catalog=MyDB");
BindData1();
}
public void BindData1()
{
con.Open();
string strCmd = "select Items from tblbill";
SqlCommand cmd = new SqlCommand(strCmd, con);
SqlDataAdapter da = new SqlDataAdapter(strCmd, con);
DataSet ds = new DataSet();
da.Fill(ds);
cmd.ExecuteNonQuery();
con.Close();
comboBox1.DisplayMember = "items";
comboBox1.ValueMember = "items";
comboBox1.DataSource = ds.Tables[0];
comboBox1.Enabled = true;
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
con.Open();
string sel = comboBox1.SelectedItem.ToString();
SqlCommand cmd = new SqlCommand("select price from tblbill where items=" + comboBox1.SelectedValue, con);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
p = dr[0] as string;
//department = reader[1] as string;
}
textBox1.Text = p;
con.Close();
}
Mon combobox est rempli avec des éléments de tblbill
, mais ne peut pas en mesure d'afficher la valeur des prix en textbox
en fonction de la sélection dans combobox
.
S'il vous plaît aider moi
the value of textbox should be selected according to value of combo box
vous devriez faire plus claire à ce sujet, quelle est la valeur correspondante de la zone de texte qui peut être dérivé à partir d'une certaine valeur de comboBox? On dirait que votre code de montrer que vous voulez obtenir de l' correspondante de la valeur à partir de la base de données, droit?- est-ce winforms?
- Ne pas ré-utiliser les objets de connexion. l'utiliser dans
using
déclaration. - salut le Roi le Roi,ce que tu dit est juste.je veux obtenir la valeur correspondante sélectionnée dans la liste déroulante dans la zone de texte à partir de DB.
- il vous manque des guillemets à "... l'emplacement de l'élément = '" + zone de liste déroulante.SelectedValue + "'", con), Mais je devrais suivre les conseils de gens ont donné leurs réponses
Vous devez vous connecter pour publier un commentaire.
si vous voulez afficher l'Élément Sélectionné prix: à partir de la liste déroulante.
Essayez Ceci:
Différence entre SelectedText et la Propriété Text de la zone de liste déroulante n
SelectedText de la propriété à partir de MSDN
tandis que le Texte de la propriété à partir de MSDN
essayez comme ceci
Faire usage de sqlparameter pour éviter l'injection sql et faire usage de l'exécution scalaire comme vous essayez d'obtenir un seul prix pour le produit sélectionné
Cet exemple ci-dessous n'est pas exactement résout votre problème, mais c':
SqlConnection
etSqlCommand
textbox
de donnéesEn utilisant cela, vous pouvez l'imaginer, comment facile serait de charger un autre
DataTable
avec enregistrement unique et le lier. Ou vous pouvez remplir manuellement les zones de texte.Une autre option, et ce qui est intéressant, c'est de charger une
Dataset
avec deux tables - 1 combo de recherche et un autre des données réelles. Établir une relation entre eux et lier des contrôles. Ensuite, vous n'aurez pas à aller à la DB à chaque fois que vous modifiez la valeur danscombobox
. Vous aurez besoin pour actualiser les données, parfois, mais tout ce qui va se passer sur le client.