2016-08-25 10 views
0

次のメソッドがありますが、datatableを埋めていません。ado.netはSQL組み込み関数でデータを返しません

using (conn = new SqlConnection(Connection1)) 
{ 
    conn.Open(); 
    string query = "SELECT distinct left(RTRIM(PostalCode), 2),EntityID FROM Gen_Addresses"; 
    dt = new DataTable(); 
    ad = new SqlDataAdapter(query ,conn); 

    ad.Fill(dt); 
    checkedListBox1.DisplayMember = dt.Columns["PostalCode"].ColumnName; 
    checkedListBox1.ValueMember = dt.Columns["EntityID"].ColumnName; 
} 

答えて

0
using (conn = new SqlConnection(Connection1)) 
      { 
       conn.Open(); 
       string query = "SELECT distinct left(RTRIM(PostalCode), 2),EntityID FROM Gen_Addresses"; 
       SqlCommand cmd=null; 
       cmd=new SqlCommand(query ,conn); 
       dt = new DataTable(); 
       ad = new SqlDataAdapter(); 
       ad.SelectCommand=cmd; 
       ad.Fill(dt); 
       checkedListBox1.DisplayMember =  dt.Columns["PostalCode"].ColumnName; 
       checkedListBox1.ValueMember = dt.Columns["EntityID"].ColumnName; 


      } 

あなたが代わりに序の名前で式を参照するために、クエリ内の列の別名を指定する必要があり、この

0

を試してみてください。

string query = "SELECT distinct left(RTRIM(PostalCode), 2) AS PostalCode,EntityID FROM Gen_Addresses"; 
関連する問題