2016-08-31 9 views
0

SQLクエリから取得した情報をコンボボックスに入力する方法を知ることができました。私が今行う必要があるのは、そのコンボボックスから選択した項目を取り出し、ボタンを使ってその情報で別のクエリを実行することです。これは私がこれまで持っていたものです。SQLクエリで使用するフォームのコンボボックスから選択を呼び出す

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 

    Dim myconn As New SqlClient.SqlConnection("server=myserver;UID=User;PWD=Password;database=myDB") 
    Dim myTable As New DataTable() 
    Dim myCmd As New SqlCommand() 
    Dim myAdapter As New SqlDataAdapter(myCmd) 

    myCmd.Connection = myconn 
    myCmd.Connection.Open() 

    myCmd.CommandText = "UPDATE myDB.<*Selected list from combo box*> SET example = x WHERE example = y" 

    myCmd.ExecuteNonQuery() 
    myCmd.Connection.Close() 
    MsgBox("Done!") 

End Sub 

あなたは問題が私はコンボボックスから< Selectedリストに選ばれている部分で見ることができるように>私はあなたのすべてに私をポイントすることを求めています、これを行う方法についての回答を求めておりません可能であれば右方向。

+0

"myDB。<*コンボボックスからの選択リスト*>"は混乱します。これにより、コンボボックスにmyDBデータベース内のテーブル名が設定されているように見えますが、具体的にその名前は表示されません。コンボボックスのテーブル名のリストからユーザーが選択したテーブルを更新しようとしていますか? –

+0

はい私はそうです。彼らはドロップダウンのテーブルを選択し、ボタンをクリックしてテーブル内のカラムを「更新」します。 –

+0

たとえば、その時点でデータベースに含まれているものに応じていくつかの項目が設定されます。彼らは更新する必要があるものを選択し、次に "UPDATE myDB。<*コンボボックスからの選択リスト*> SET example = x WHERE example = y"を実行するボタンをクリックします。 –

答えて

0
Dim selectedIndex As Integer=comboBox1.SelectedIndex 

Dim selectedItem As Object 
    selectedItem = comboBox1.SelectedItem 

MessageBox.Show("Selected Item Text: " & selectedItem.ToString() & Microsoft.VisualBasic.Constants.vbCrLf & _ 
         "Index: " & selectedIndex.ToString()) 
0

私はあなたの質問を理解していれば、私はあなたがする必要があるすべては、テーブル名を連結するために、あなたの更新文の文字列を構築であると信じてこのような何かが機能して次のようになります。

myCmd.CommandText = "UPDATE myDB." & listbox1.SelectedItem.Value & " SET example = x WHERE example = y" 

ワンリストボックスの値が悪いと、SQL Injectionというセキュリティ上の脆弱性が引き起こされる可能性があることに注意してください。ボタンの手順の中で、listbox1.SelectedItem.Valueの値が厳密にSQLコマンドとして渡す前に更新することを許可する有効なテーブル名であることを絶対に確かめるために、いくつかの妥当性検査を行うことが望ましいかもしれません。

関連する問題