2011-11-08 102 views
1

我正在用ASP.NET开发一个使用C#的ASP.NET模板。我的连接字符串是:从使用ASP.NET C的代码中访问数据库数据#

<connectionStrings> 
<add name="NorthwindConnectionString" 
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\SecurityTutorials.mdf;Integrated Security=True;User Instance=True" 
providerName="System.Data.SqlClient"/> 
</connectionStrings> 

和连接字符串的访问如下:

string connStr = ConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ConnectionString; 

SqlDataSource如下:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" 
SelectCommand="SELECT [ProductID], [ProductName], [Discontinued] FROM [Alphabetical list of products]" 
InsertCommand = "INSERT INTO [Alphabetical list of products] (ProductID, ProductName, Discontinued)VALUES(@ProductID,@ProductName,@Discontinued)"> 
<InsertParameters> 
<asp:Parameter Name="ProductID" Type="String" /> 
<asp:Parameter Name="ProductName" Type="String" /> 
<asp:Parameter Name="Discontinued" Type="String" /> 
</InsertParameters> 
</asp:SqlDataSource> 

我已经把ListView上页面显示数据。现在我该如何访问数据库中的数据,以及如何使用后面的代码检索数据并在页面内显示数据?

正如您所知,在页面内使用​​可以访问所有数据。例如,我有一列ProductName,我想要获取该列中的数据,做一些重新格式化并将其传递给页面表单代码,并在后面的代码中编写SqlDataSource

回答

0

我敢打赌,这里有更多的选择,但这是我会如何做到的。剪下页面中的SqlDataSource并从代码中获取并绑定数据:

using (var connection = new SqlConnection(ConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ConnectionString) 
{ 
    var selectCommand = new SqlCommand("SELECT ...");
selectCommand.CommandType = CommandType.Text; selectCommand.Connection = connection;

  var dataAdapter = new SqlDataAdapter()
  dataAdapter.SelectCommand = selectCommand

  var dataSet = new DataSet();

  connection.Open()
  dataAdapter.Fill(dataSet, "myDataSet");
  connection.Close()

  // now, the dataSet.Tables[0] is a DataTable with your data in it. You can add, edit or remove data in this table before binding it to the ListView

  myListView.DataSource = dataSet;
  myListView.DataBind(); }
在这个例子中,你必须编写单独的代码插入数据。如果处理ASP.NET,我会故意写这样的代码,因为ASP.NET应用程序是无状态的,因此不记得任何状态或数据(存储在Session或ViewState中的内容除外)

+0

尊敬的KBoek,感谢您的回答,它确实有帮助。但是你能否给我一个添加,更新和删除的代码。因为我是这个领域的新人。非常感谢 –