C# 使用ASP.NET C从代码隐藏中访问数据库数据#
我正在使用C#开发一个ASP.NET web模板。我的连接字符串是:C# 使用ASP.NET C从代码隐藏中访问数据库数据#,c#,asp.net,asp.net-ajax,sqldatasource,C#,Asp.net,Asp.net Ajax,Sqldatasource,我正在使用C#开发一个ASP.NET web模板。我的连接字符串是: <connectionStrings> <add name="NorthwindConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\SecurityTutorials.mdf;Integrated Security=True;User Instance=True" pro
<connectionStrings>
<add name="NorthwindConnectionString"
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\SecurityTutorials.mdf;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient"/>
</connectionStrings>
我的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>
我在页面上放置了一个列表视图
,以显示数据。现在,我如何访问数据库中的数据,如何检索数据并使用代码隐藏在页面中显示数据
如您所知,通过在页面内使用
,可以访问所有数据。
例如,我有一个列
ProductName
,我想获取此列中的数据,进行一些重新格式化并将其传递给页面表单代码隐藏,还想在代码隐藏处编写SqlDataSource
。我打赌有比此更多的选项,但我会这样做。剪切页面中的SqlDataSource并从代码中获取和绑定数据:使用(var connection=new SqlConnection(ConfigurationManager.ConnectionString[“NorthwindConnectionString”].ConnectionString)
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();
}
{
var selectCommand=new SqlCommand(“选择…”);
选择Command.CommandType=CommandType.Text;
selectCommand.Connection=Connection;
var-dataAdapter=new-SqlDataAdapter()
dataAdapter.selectCommand=selectCommand
Connection.Open()
dataAdapter.Fill(dataSet,“myDataSet”);
Connection.Close()
现在,数据集.Tables[0]是一个数据表,其中包含您的数据。您可以在将此表中的数据绑定到ListView之前添加、编辑或删除此表中的数据
myListView.DataSource=dataSet;
myListView.DataBind();
}
在本例中,您必须为插入数据编写单独的代码。如果处理ASP.NET,我会故意这样编写代码,因为ASP.NET应用程序是无状态的,因此不记得任何状态或数据(除了存储在会话或视图状态中的内容)作为替代方案,您可以连接到ListView的ItemDataBound事件。请参阅MSDN库中的示例代码:亲爱的KBoek,感谢您的回答,它确实很有帮助。但是,您能否为我提供一个添加、更新和删除的代码。因为我在这个领域是新手。非常感谢
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();
}