2012-03-21 5 views
0

次のコードを使用してmysqlデータベースクエリからデータを取り込むC#Windowsフォームアプリケーションにコンボボックスがあります。WindowsフォームアプリケーションでMySQLにコンボボックスの値を入力して使用する

MySqlDataAdapter sqlquery = new MySqlDataAdapter("SELECT users.username AS username, users.Id AS id FROM users", conn); 
DataTable populateDreturnCBox = new DataTable("users"); 
sqlquery.Fill(populateDreturnCBox); 

dreturnCbox1.DataSource = populateDreturnCBox; 
dreturnCbox1.ValueMember = populateDreturnCBox.Columns[1].ColumnName; 
dreturnCbox1.DisplayMember = populateDreturnCBox.Columns[0].ColumnName; 

これは動作するように見えるんが、問題は、私は文字列変数に()SelectedValue.ToStringを渡す際に、以下のように、私はSystem.Data.DataRowViewを持つ文字列が文字列の代わりに表示され得るということです選択された値。

string val = dreturnCbox1.SelectedItem.ToString(); 
MessageBox.Show(val); 

データ値の配列にアクセスしようとしていますが、その値を渡す方法がわかりません。コンボボックス内のデータにアクセスするためにインデックス位置を見つけるためにforループを作成する必要がありますか、またはこれで間違ったツリーを吠えるのですか?

ありがとうございます。

答えて

1

どのようにこのような何か試合:

string val = ((DataRowView)dreturnCbox1.SelectedItem).Row[1]; 
+0

あなたはそれだけでキャストする必要が正しかった感謝します。文字列val =((DataRowView)dreturnCbox1.SelectedItem)。ロー[0] .ToString(); – aHunter

関連する問題