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();//窗体应用程序不需要此语句
}
}


两个的区别就是实例应该在方法内还是方法外,如果在方法内会不会每次用完后自动释放资源,然后点击再连接?这样性能是不是比第一种低?
可不可以在不同的方法内只用一个适配器(全局的)
...全文
99 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)
然后在建立一个数据库操作类,你的所有操作数据库的方法都封装到这个类里,业务层只是来调用。
本书大致分为三部分。第一部分包括入门,包括数据库概述(它们是什么以及它们用来干什么),尤其是PostgreSQL的概述(怎样获得,安装和启动以及使用)。如果你同时运行了示例,到第5章完成的时候,你将建立起第一个可工作的数据库并且可以使用一些工具来做一些有用的事情,例如输入数据和执行查询。 本书的第二部分深刻地探索关系数据库的核心:SQL查询语言。通过示例程序和“做一个尝试”章节,你将学到数据库编程的很多方面。,从简单的数据插入和修改,强大的各类查询到通过存储过程和触发器扩展数据库功能。本章最重要的内容是数据库无关,所以你从本章获取的知识能够让你在使用其他数据库时如鱼得水。当然,所有的用来说明的示例资源是用PostgreSQL来作为示例数据库。关于PostgreSQL的管理和数据库设计的习惯用法也将在本章完整讨论。 本书的第三部分关注于在你的程序中发挥PostgreSQL的能力。本章涵盖了通过大量的编程语言连接到数据库、执行查询以及处理结果集。无论你是使用PHP或者Perl开发动态网页、用Java或者C#开发企业级应用程序或者用C写一个客户端程序,你将找到你想要的章节。 这是PostgreSQL从入门到精通的第二版;第一版在2001年发布。从那时起,每章的内容都根据8.0版本的PostgreSQL做了升级。我们在本书中有机会补充了新的一章讨论通过C#访问PostgreSQL。

110,476

社区成员

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

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

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