C# 从2列填充的组合框项插入SqlCommand仅一列-SelectedItem
下面的代码在一个项目(combobox中的行)中用两个值填充combobox,现在我只想在DB中插入例如val1(数字9,2)项目,而不插入tval1(字符)。如果我只想根据所选的值在DB中插入val1、val2或val3,SqlCommand INSERT INTO会是什么样子?我知道如何插入简单的填充组合框,但如何设置要插入到DB中的内容C# 从2列填充的组合框项插入SqlCommand仅一列-SelectedItem,c#,sql,sql-server,combobox,selecteditem,C#,Sql,Sql Server,Combobox,Selecteditem,下面的代码在一个项目(combobox中的行)中用两个值填充combobox,现在我只想在DB中插入例如val1(数字9,2)项目,而不插入tval1(字符)。如果我只想根据所选的值在DB中插入val1、val2或val3,SqlCommand INSERT INTO会是什么样子?我知道如何插入简单的填充组合框,但如何设置要插入到DB中的内容 var cb4 = new SqlCommand("SELECT cena1,cena2,cena3,tcena1,tcena2,tcena3 FROM
var cb4 = new SqlCommand("SELECT cena1,cena2,cena3,tcena1,tcena2,tcena3 FROM zajezd WHERE akce=" + zakce.Text, spojeni);
SqlDataReader dr4 = cb4.ExecuteReader();
while (dr4.Read())
{
string val1 = Convert.ToString(dr4["cena1"]);
string val2 = Convert.ToString(dr4["cena2"]);
string val3 = Convert.ToString(dr4["cena3"]);
string tval1 = Convert.ToString(dr4["tcena1"]);
string tval2 = Convert.ToString(dr4["tcena2"]);
string tval3 = Convert.ToString(dr4["tcena3"]);
comboBox4.Items.Add(val1 + " " + tval1);
comboBox4.Items.Add(val2 + " " + tval2);
comboBox4.Items.Add(val3 + " " + tval3);
}
dr4.Close();
dr4.Dispose();
spojeni.Close();
谢谢你花时间阅读这篇文章。我不知道怎么做
这是我插入带有单个值的组合框的代码-
prikaz.Parameters.AddWithValue("@variable", comboBox1.Text);
我应该如何改进它以仅保存val1?非常感谢您首先,
您必须创建自己的类
public class ComboboxItem
{
public string val { get; set; }
public string tval { get; set; }
public string DisplayText {get { return val + " " + tval;} }
}
然后,更改您的代码:
var cb4 = new SqlCommand("SELECT cena1,cena2,cena3,tcena1,tcena2,tcena3 FROM zajezd WHERE akce=" + zakce.Text, spojeni);
SqlDataReader dr4 = cb4.ExecuteReader();
while (dr4.Read())
{
string val1 = Convert.ToString(dr4["cena1"]);
string val2 = Convert.ToString(dr4["cena2"]);
string val3 = Convert.ToString(dr4["cena3"]);
string tval1 = Convert.ToString(dr4["tcena1"]);
string tval2 = Convert.ToString(dr4["tcena2"]);
string tval3 = Convert.ToString(dr4["tcena3"]);
ComboboxItem cbxItem1 = new ComboboxItem();
cbxItem1.val = val1;
cbxItem1.tval = tval1;
comboBox4.Items.Add(cbxItem1);
ComboboxItem cbxItem2 = new ComboboxItem();
cbxItem2.val = val2;
cbxItem2.tval = tval2;
comboBox4.Items.Add(cbxItem2);
ComboboxItem cbxItem3 = new ComboboxItem();
cbxItem3.val = val3;
cbxItem3.tval = tval3;
comboBox4.Items.Add(cbxItem3);
//Set display member and value member
comboBox1.DisplayMember = "DisplayText";
comboBox1.ValueMember = "val";
}
dr4.Close();
dr4.Dispose();
spojeni.Close();
最后,要插入,必须使用组合框的selectedValue:
prikaz.Parameters.AddWithValue("@variable", comboBox1.SelectedValue);
首先,,
您必须创建自己的类
public class ComboboxItem
{
public string val { get; set; }
public string tval { get; set; }
public string DisplayText {get { return val + " " + tval;} }
}
然后,更改您的代码:
var cb4 = new SqlCommand("SELECT cena1,cena2,cena3,tcena1,tcena2,tcena3 FROM zajezd WHERE akce=" + zakce.Text, spojeni);
SqlDataReader dr4 = cb4.ExecuteReader();
while (dr4.Read())
{
string val1 = Convert.ToString(dr4["cena1"]);
string val2 = Convert.ToString(dr4["cena2"]);
string val3 = Convert.ToString(dr4["cena3"]);
string tval1 = Convert.ToString(dr4["tcena1"]);
string tval2 = Convert.ToString(dr4["tcena2"]);
string tval3 = Convert.ToString(dr4["tcena3"]);
ComboboxItem cbxItem1 = new ComboboxItem();
cbxItem1.val = val1;
cbxItem1.tval = tval1;
comboBox4.Items.Add(cbxItem1);
ComboboxItem cbxItem2 = new ComboboxItem();
cbxItem2.val = val2;
cbxItem2.tval = tval2;
comboBox4.Items.Add(cbxItem2);
ComboboxItem cbxItem3 = new ComboboxItem();
cbxItem3.val = val3;
cbxItem3.tval = tval3;
comboBox4.Items.Add(cbxItem3);
//Set display member and value member
comboBox1.DisplayMember = "DisplayText";
comboBox1.ValueMember = "val";
}
dr4.Close();
dr4.Dispose();
spojeni.Close();
最后,要插入,必须使用组合框的selectedValue:
prikaz.Parameters.AddWithValue("@variable", comboBox1.SelectedValue);