【发布时间】:2015-05-22 16:07:53
【问题描述】:
在我的 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();
}
}
将不胜感激任何帮助或替代解决方案。
【问题讨论】:
-
cbPeriode1.SelectedValue为空,显示如何用值填充combobox -
private void FillCombobox() { string S = ConfigurationManager.ConnectionStrings; SqlConnection con = new SqlConnection(S); SqlCommand cmd = new SqlCommand(); cmd.Connection = con; cmd.CommandText = select distinct Monat from tblSales"); SqlDataReader myReader; try { con.Open(); myReader = cmd.ExecuteReader(); while (myReader.Read()) { cbPeriode1.Items.Add(myReader["Monat"]); } -
Stackoverflow answer 对您的情况有帮助吗?
-
@Fabio。不幸的是没有
-
我很伤心,你的
cbPeriode1.SelectedValue是空的。SelectedValue在您的情况下将始终为空,因为组合框是通过手动添加项目填充的,而不使用ValueMember。为什么不能将SelectedItem用于sql 参数cbPeriode1.SelectedItem.ToString()
标签: c# winforms stored-procedures combobox