Ali*_*007 2 .net c# sql asp.net datasource
哪一个更好 - 在ASPX页面或CodeBehind中声明SqlDataSource?
方法#A.作为程序员,您可以在.aspx页面中定义SqlDataSource,例如:
<asp:SqlDataSource ID="Sql_ID" runat="server" ConnectionString="<%$ ConnectionStrings:Con_Str %>"
SelectCommand="SELECT * FROM [table_name]">
<SelectParameters>
<asp:Parameter Name="user_id"/>
</SelectParameters>
</asp:SqlDataSource>
Run Code Online (Sandbox Code Playgroud)
方法#B.此外,您可以在C#CodeBehind中执行此操作
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Con_Str"].ToString()))
{
string qry = SELECT * FROM [table_name];
SqlDataAdapter da = new SqlDataAdapter();
DataTable dt = new DataTable();
using (SqlCommand cmd = new SqlCommand(qry, conn))
{
cmd.Parameters.Add("@user_id", SqlDbType.UniqueIdentifier).Value = user_id;
da.SelectCommand = cmd;
try
{
conn.Open();
da.Fill(dt);
conn.Close();
}
catch
{
// Do something ;
}
}
}
Run Code Online (Sandbox Code Playgroud)
哪种方法[A或B]更好?为什么?
wal*_*her 10
两者都不是.最好的方法是将数据访问完全与UI分离(到一个单独的项目,或者至少是名称空间,这样你就可以根据需要轻松交换各种实现).然后,在您的代码隐藏中,只需引用公开的存储库并执行绑定.但是,您的页面代码隐藏不应包含任何数据访问.
尝试对3层架构进行一些研究.除非它是一个非常基本的应用程序,否则你应该学习如何将它分成多个层.
| 归档时间: |
|
| 查看次数: |
2006 次 |
| 最近记录: |