Winforms组合框和参数化存储过程
本文关键字:存储过程 参数 组合 Winforms | 更新日期: 2023-09-27 17:50:23
在我的tblSates表中,我有一个名为Monat的列,其中包含这三个值[01.2016, 02.2016和03.2016],我想在组合框中获取这些值。
我得到了两个值,而不是三个值。
下面是我的代码:private void FillCombobox2()
{
string S = ConfigurationManager
// TSQL-Statement
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = ("SELECT DISTINCT Monat from tblSales");
SqlDataReader myReader;
try
{
con.Open();
myReader = cmd.ExecuteReader();
if (myReader.Read())
{
DataTable dt = new DataTable();
dt.Load(myReader);
combobox1.DisplayMember = "Monat";
combobox1.ValueMember = "Monat";
combobox1.DataSource = dt;
combobox1.SelectedIndex = -1;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
con.Close();
}
}
我删除了reader。读一读,然后调用哪一项提高了头寸(并跳过了我的三条记录中的一条)。或者,我可以使用if (myReader.HasRows)
。
private void FillCombobox2()
{
string S = ConfigurationManager
// TSQL-Statement
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = ("SELECT DISTINCT Monat from tblSales");
//SqlDataReader myReader;
try
{
con.Open();
SqlDataAdapter ad = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
ad.Fill(dt)
combobox1.DisplayMember = "Monat";
combobox1.ValueMember = "Monat";
combobox1.DataSource = dt;
combobox1.SelectedIndex = -1;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
con.Close();
}
}