我正在建立一个SqlServer数据库连接,以便从表中检索数据并将它们作为文本框和组合框中的输入提供。
尽管事实上我没有得到任何异常或错误消息,但结果并不是预期的,即使所有数据都返回存储到表中,两个组合框也不会按预期运行。 此外,两个提到控件后面的齿轮放在一个图片框中,所有这些都在一个面板上“座位”!
这是我的代码:
try
{
using (SqlConnection con = new SqlConnection("Data Source=(local);Initial Catalog=SmartCity;Integrated Security=True"))
{
DataTable db = new DataTable();
SqlDataAdapter sda = new SqlDataAdapter("SELECT card_type,card_n
umber,exp_month,exp_year,cvv FROM CreditCards WHERE user_id='" + ApplicationState.CurrentUser.userid.ToString() + "'", con);
sda.Fill(db);
//MessageBox Prints the missing data perfectly though!
MessageBox.Show("Cart Type:" + db.Rows[0][0].ToString()
+ "\nExpiration Month:" + db.Rows[0][2].ToString());
txtcardholername.Text = ApplicationState.CurrentUser.name + " " + ApplicationState.CurrentUser.surname;
cboxcardtype.Text = db.Rows[0][0].ToString();
txtcardnumber.Text = db.Rows[0][1].ToString();
cboxmonth.Text = db.Rows[0][2].ToString();
cboxexpyear.Text = db.Rows[0][3].ToString();
txtcvv.Text = db.Rows[0][4].ToString();
}
}
catch (Exception)
{
MessageBox.Show("Something went wrong!");
}
答案 0 :(得分:1)
Solution by the original asker:
小细节是问题所在:
当我创建月份组合框时,我添加了以下值:
因此,数据库返回-6-作为月份 NOT -06-而不是 包括在开始组合的组合框中。
然后我改变了值,如下图所示。
瞧:
答案 1 :(得分:0)
您没有通过设置Text属性来填充组合框。要正确填充ComboBox,您必须向其中添加项目:
comboBox1.Items.Add(db.Rows[0][0].ToString());
然后你必须选择它,你就可以了。
comboBox1.SelectedItem = comboBox1.Items.Cast<KeyValuePair<string,string>>().First(item=> item.Value == db.Rows[0][0].ToString());