2014-11-04 38 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(); 
    } 
} 
相关问题