2011-12-26 5 views
0

私は都市のドロップダウンリストを持っています。データベースに、ドロップダウンリストに追加する都市があります。ページの負荷にデータベースからのデータをvb.netのドロップダウンに追加

は、私が正常に動作しているクエリを持っている負荷ドロップダウン上のSQL接続

Dim s As String = "Connection String" 
sqlconn = New SqlConnection(s) 

を作りました。ドロップダウンにデータベースクエリの結果を追加するにはどうすればよいですか?

Protected Sub Citydropdown_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Citydropdown.Load 

     sqlCmd = New SqlCommand("select City from usrRegister_aunthentication", sqlconn) 
     If sqlconn.State = Data.ConnectionState.Closed Then 
      sqlconn.Open() 
     End If 
     Dim i As String = sqlCmd.ExecuteReader() 

     If sqlconn.State = Data.ConnectionState.Open Then 
      sqlconn.Close() 
     End If 
    End Sub 

また、時には同じ都市が繰り返されます。各都市を一度のみ表示するにはどうすればよいですか?

+0

プロのヒント:質問にもっと取り組むと、より良い回答が得られます。誰が使用するのか分かりやすいものを編集してください。また、ここで質問したよりも、コードの詳細に多くの注意を払うことを祈っています。 –

答えて

2

ExecuteNonQueryを使用して結果(行)をフェッチしないでください。リーダーインスタンスを取得するには、ExecuteReaderを使用します。

Dim dataReader as SqlDataReader 
dataReader = sqlCmd.ExecuteReader() 
While dataReader.Read 
    ' Write code to insert an Item into dropdownlist 
    DropDownItem1.Items.Add(dataReader("City").ToString()) 
End While 
dataReader.Close() 
+0

私は編集しましたが、どのコードをドロップダウンでデータを埋めるためにwrtieする必要がありますか?コードはwhileループで書かれるべきですか? –

+0

以上ova私はExecuteReaderを使用すると、SqldataReaderが文字列に変換できないと言われました –

+0

thanxが私のために働いています –

0

これを試すこともできます。これは1行または2行少ないです。

Using dr = sqlCmd.ExecuteReader() 
While dr.Read 
    ' Write code to insert an Item into dropdownlist 
    DropDownItem1.Items.Add(dr("City").ToString()) 
End While 
End Using 
関連する問題