2017-01-05 13 views
0

テーブルからデータを取得し、テキストボックスとコンボボックスの入力としてそれらを入力するには、SqlServerデータベース接続を確立しています。C#:DataTableからのコントロール要素の埋め込みに失敗しました

例外やエラーメッセージが表示されないにもかかわらず、すべてのデータがテーブルに格納されて返されても、結果は期待通りではありませんが、2つのコンボボックスは期待どおりに動作しません。 さらに2つのコントロールの背後にあるギアは、一緒にパネルに座っているピクチャーボックスに置かれています!

これは私のコードです:

  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

は他の他のコントロールは、データベースからデータを記入していますか? – abdul

+0

はい、[2016,2017,2018 ....と初期化された管理年は完璧にロードされていました! – HelloIT

答えて

0

あなたはit's Textプロパティを設定することで、コンボボックスを埋めるドント。コンボボックスを適切に記入するには、項目を追加する必要があります。

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()); 
+0

これは問題ではありませんでした。問題は非常に微妙でした。私は解決策を追加しました。 – HelloIT

1

Solution by the original asker:

この小さなディテールが問題だった。そこで

First Initialization

:私は、次の値を追加した月のコンボボックスを作成し

データベース返された-6-月は -06-でしたが、これは最初のコンボボックスの項目に含まれていませんでした( )。

次に、下の図のように値を変更しました。

After Changing the values

ほら:唯一のコンボボックスがいっぱいいない間

enter image description here

関連する問題