c# - 如何将不同的 selectedindex 组合框值插入数据库?
问题描述
在我的项目中,我有一个从国家数据库表 [Pays] 列 [pays] 填充的国家组合框(PaysCmBx0),我想要做的是当我在组合框中选择一个国家时,它会插入来自 Alpha 的 Alpha 国家代码令牌另一个表中的国家代码列 [Alpha2](例如:United-states = US)。
因此,当我从组合框中选择一个国家/地区时,它什么也不做,它会插入相同的值。
我的表如下所示:
[Aplha2] [Pays]
GB United Kingdom
IM Isle of Man
TZ United Republic Of Tanzania
US United States
BF Burkina Faso
UY Uruguay
UZ Uzbekistan
这是我的代码:
void Fillcombo()
{
string Query = "SELECT * FROM Pays";
SqlCommand cmd = new SqlCommand(Query, con);
SqlDataReader myRead;
try
{
con.Open();
myRead = cmd.ExecuteReader();
while (myRead.Read())
{
string sName = myRead["Pays"].ToString();
PaysCmBx0.Items.Add(sName);
}
con.Close();
}
catch (Exception exc)
{
MessageBox.Show(exc.Message);
}
}
private void AddBtn_Click(object sender, EventArgs e)
{
try
{
string Query = "INSERT INTO [dbo].[Adresses] ([idParent],[Type] ,[Adresse0],[Adresse1],[Adresse2],[CPT],[Ville],[Pays]) VALUES ('"+Contact.idContact+"','" + TypeAdrCmBx.Text+ "','" + this.AdrTxtBx0.Text + "','" + this.AdrTxtBx1.Text + "','" + this.AdrTxtBx2.Text + "','" + this.CptTxtBx.Text + "','" + this.VilleTxtBx.Text + "','" + this.PaysCmBx0.Text + "')";
SqlCommand cmd = new SqlCommand(Query, con);
con.Open();
SqlDataReader Read;
try
{
Read = cmd.ExecuteReader();
}
catch (Exception exc)
{
MessageBox.Show(exc.Message);
}
con.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void PaysCmBx0_SelectedIndexChanged(object sender, EventArgs e)
{
string Query1 = "SELECT * FROM Pays WHERE Pays='" + PaysCmBx0.Text + "'";
SqlCommand cmd1 = new SqlCommand(Query1, con);
SqlDataReader myRead;
try
{
con.Open();
myRead = cmd1.ExecuteReader();
while (myRead.Read())
{
string Code_Pays = myRead["Alpha2"].ToString();
PaysCmBx0.SelectedIndex.Equals(Code_Pays);
}
con.Close();
}
catch (Exception exc)
{
MessageBox.Show(exc.Message);
}
}
解决方案
感谢每个我为此提供解决方案的人:
我创建了一个函数,该函数获取与组合框中所选内容相对应的国家/地区代码:
private string get_code_pays(string nom_pays)
{
string Query1 = "SELECT * FROM Pays WHERE Pays='" + PaysCmBx0.Text + "'";
string Code_Pays="";
SqlCommand cmd1 = new SqlCommand(Query1, con);
SqlDataReader myRead;
try
{
con.Open();
myRead = cmd1.ExecuteReader();
while (myRead.Read())
{
Code_Pays = myRead["Alpha2"].ToString();
PaysCmBx0.SelectedIndex.Equals(Code_Pays);
}
con.Close();
}
catch (Exception exc)
{
MessageBox.Show(exc.Message);
}
return Code_Pays;
}
然后使用插入中的参数调用我的函数:
string Query = "INSERT INTO [dbo].[Adresses] ([idParent],[Type] ,[Adresse0],[Adresse1],[Adresse2],[CPT],[Ville],[Pays]) VALUES ('"+Contact.idContact+"','" + A + "','" + this.AdrTxtBx0.Text + "','" + this.AdrTxtBx1.Text + "','" + this.AdrTxtBx2.Text + "','" + this.CptTxtBx.Text + "','" + this.VilleTxtBx.Text + "','" + get_code_pays( this.PaysCmBx0.Text) + "')";
推荐阅读
- python - 如何在 ib_insync 中获取我的股份数量?
- javascript - Vue.js - 注入一个 v-on 按钮以从来自外部源的静态 html 生成覆盖
- spring - @WebMvcTest - 如何配置安全性以便测试可以运行?
- python - 当我尝试将 sql 表加载到数据框中时,显示数据框中字符串的 NAN 值
- powershell - Azure DevOps 服务器 Invoke-RestMethod 错误:没有为“PUT”请求提供 API 版本
- amazon-web-services - 有没有一种简单的方法来克隆粘合作业,但更改数据库连接?
- python - 如何根据python中的条件从字典中的列表中删除元素
- react-native-push-notification - 当应用程序不工作时,PushNotificationIOS.getInitialNotification() 总是返回 null
- json - 如何替换存储在 JSON 文件中的 JSON 值并在 Rest Assured 测试中使用它
- javascript - XMLhttprequest 不发布(新的)