2014-11-04 39 views
0

我新的ASP.NET,我試圖從query設置select數據時,頁面加載如何將數據從數據庫傳遞到ASP.NET中的「選擇標記」?

這是英里表:

ID_Area|ID_Formula|Nombre 

現在我的代碼

ASPX

<asp:Content runat="server" ContentPlaceHolderID="ContentPlaceHolder1"> 
<div class="container"> 
    <div class="row"> 
     <div class="col-md-6"> 
      <div class="form-group"> 
       <label >Nombre de Area</label> 
       <asp:TextBox runat="server" ID="area" CssClass="form-control" required="true"></asp:TextBox> 
      </div> 
      <div class="form-group"> 
       <label>Formula asociada</label> 
       <select id="Select1" runat="server" name="D1"> </select> 
      </div> 
      <div class="form-group"> 
       <asp:Button ID="btn_login" OnClick="docreatearea" CssClass="btn btn-primary btn-lg btn-block" Text="Guardar" runat="server"/> 
      </div> 

     </div> 
    </div> 
</div> 

ASPX.CS

protected void Page_Load(object sender, EventArgs e) 
{ 
    if(!IsPostBack){ 
     string query = @"SELECT * FROM FORMULA"; 

     using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["BancoEstadoConnectionString"].ToString())) 
     { 
      SqlCommand comand = new SqlCommand(query, conn); 

      DataSet ds = new DataSet(); 
      comand.Fill(ds, "Area"); 
      conn.Open(); 
      Select1.DataSource = ds; 
      Select1.DataTextField = "Nombre"; 
      Select1.DataValueField = "Nombre"; 
      Select1.DataBind(); 
     } 
    } 
} 

問題apears因爲doenst存在SqlCommand object

我怎樣才能做到這一點o修復它?

回答

0

您將需要使用SqlDataAdapter來填充DataSet中:

using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["BancoEstadoConnectionString"].ToString())) 
    { 
     SqlCommand comand = new SqlCommand(query, conn); 

     DataSet ds = new DataSet(); 
     conn.Open(); 

     var adapter = new SqlDataAdapter(command); 
     adapter.Fill(ds, "Authors"); 

     Select1.DataSource = ds; 
     Select1.DataTextField = "au_fname"; 
     Select1.DataValueField = "au_fname"; 
     Select1.DataBind(); 
    } 
+0

非常感謝,它的工作:d – cheloncio 2014-11-04 20:59:22

1

au_fname不會在你的名字存在。將其更改爲表格中的有效列名稱。

+0

它會像''Select1.DataTextField =「農佈雷」;''? – cheloncio 2014-11-04 20:52:53

+1

是的,看看有關DataAdapter的其他答案,您需要一個DataAdapter來填充您的DataSet – Vince 2014-11-04 20:54:42

0

用戶下面的代碼爲您的網頁加載方法

if(!IsPostBack){ 
    string query = @"SELECT * FROM FORMULA"; 

    using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["BancoEstadoConnectionString"].ToString())) 
    { 
     SqlCommand comand = new SqlCommand(query, conn); 
     DataSet ds = new DataSet(); 
     SqlDataAdapter adp = new SqlDataAdapter(cmd); 

     adp.Fill(ds); 

     Select1.DataSource = ds; 
     Select1.DataTextField = "au_fname"; 
     Select1.DataValueField = "au_fname"; 
     Select1.DataBind(); 
    } 
} 
相關問題