C#访问数据库的问题讨论

legendcyqkt 2009-04-10 09:53:50
有如下两种方式,哪个更好?

public partial class Adapter_Dataset : System.Web.UI.Page
{
static string strConnect = "Data Source=CYQ\\SQLEXPRESS;Initial Catalog=mydb;User ID=sa;Password=sa;Persist Security Info=false;";
string strCommand;

SqlConnection sc = new SqlConnection(strConnect);
SqlDataAdapter sda;
DataSet ds = new DataSet();

protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{
strCommand = "select * from student";
sda = new SqlDataAdapter(strCommand, strConnect);
sda.Fill(ds, "tt");
GridView1.DataSource = ds.Tables["tt"].DefaultView ;
GridView1.DataBind();
}
}


第二种

public partial class Adapter_Dataset : System.Web.UI.Page
{


protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{
static string strConnect = "Data Source=CYQ\\SQLEXPRESS;Initial Catalog=mydb;User ID=sa;Password=sa;Persist Security Info=false;";
string strCommand;

SqlConnection sc = new SqlConnection(strConnect);
SqlDataAdapter sda;
DataSet ds = new DataSet();
strCommand = "select * from student";
sda = new SqlDataAdapter(strCommand, strConnect);
sda.Fill(ds, "tt");
GridView1.DataSource = ds.Tables["tt"].DefaultView ;
GridView1.DataBind();//窗体应用程序不需要此语句
}
}


两个的区别就是实例应该在方法内还是方法外,如果在方法内会不会每次用完后自动释放资源,然后点击再连接?这样性能是不是比第一种低?
可不可以在不同的方法内只用一个适配器(全局的)
...全文
100 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ralpha08 2009-04-10
  • 打赏
  • 举报
回复
如果硬要比交易一个好坏的话 很明显第二个方法好些 第一个方法在你每次Page PostBack的时候都要去连接数据库 很明显有些多余
xiwuyuan 2009-04-10
  • 打赏
  • 举报
回复
我也想知道 实例放在方法内和方法外会对程序有什么影响
justin麒麟 2009-04-10
  • 打赏
  • 举报
回复
……为什么都放到具体内容里了?完全可以放到外部容器,,,诶,全局容器,,
y465524092 2009-04-10
  • 打赏
  • 举报
回复
第一种要好些,方便,
moonshineidolon 2009-04-10
  • 打赏
  • 举报
回复
数据库的访问,应该放到数据层,不该放到页面层。


如果不考虑这些,我觉得第二种方法好。
CeShenBeiWang 2009-04-10
  • 打赏
  • 举报
回复
这两种方式 在实际的项目开发中都是不适用的
实际的项目开发中你的数据库链接字符串是写在web.config (B\S) 或配置文件中的(C\S)
然后在建立一个数据库操作类,你的所有操作数据库的方法都封装到这个类里,业务层只是来调用。

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧