c#与SQL数据库连接的两种方式的区别

利用c#制作window窗体时,实现跟数据库SQL的连接,有两种方法如下,想知道一下这两种方法的区别和相对的优缺点:(两种方法分别举出代码如下)方法一:tringadd=... 利用c#制作window窗体时,实现跟数据库SQL的连接,有两种方法如下,想知道一下这两种方法的区别和相对的优缺点:
(两种方法分别举出代码如下)
方法一:
tring add = "insert into 特快列车查询(车次,站次,站名,发车时间,到站时间,硬座价格,软座价格) values('" + textBox3.Text + "','" + textBox4.Text + "','" + textBox1.Text + "','" + textBox6.Text + "','" + textBox7.Text + "'," + textBox8.Text + "," + textBox9.Text + ")";
SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ConnectionString);
cn.Open();
SqlCommand cmd = new SqlCommand(add, cn);
cmd.ExecuteNonQuery();
cn.Close();
方法二:
private void ExecuteSql(string a)
{
SqlDataAdapter da = new SqlDataAdapter(a, ConfigurationManager.ConnectionStrings["connstring"].ConnectionString);
ds.Clear();
da.Fill(ds, "connect");
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "connect";
具体的实现字符串不说,只是随便找了两个例子,关键是想知道在连接上的优劣性,四楼的回答比较满意……希望能在两种方法的选择上给点建议……
展开
 我来答
百度网友718369f09
2009-02-26 · TA获得超过676个赞
知道小有建树答主
回答量:291
采纳率:0%
帮助的人:283万
展开全部
数据处理最消耗时间的数据库连接。
从性能的角度看:
创建SqlConnection是建立数据库连接,如果多次创建即会非常消耗时间。它使用后必须用Close()释放,否即会一直占用宝贵的带宽资源。如果过多地占用带宽资源别的电脑就连不上那个数据库了。
创建SqlDataAdapter同样也是会有创建数据库连接的操作,但是它优化了这个连接的过程(牺牲更多的内存换取更快的速度),创建一次后可以多次使用而不会一直占用宝贵的带宽资源。

从使用的角度来看:
SqlConnection + SqlCommand是可以做比较高级的数据处理,比如读取单个数据,执行存储过程,和一些比较复杂的SQL语句等。
SqlDataAdapter只能从数据取得一个表,或用程序一个表更新数据库的另一个表,是对数据库执行比较简单的操作。

从使用的复杂来看:
一般用SqlConnection + SqlCommand会比用SqlDataAdapter要写更多的代码,所以SqlDataAdapter是数据库连接的首选方法。
百度网友f7b369a
2009-02-26 · TA获得超过420个赞
知道小有建树答主
回答量:177
采纳率:0%
帮助的人:0
展开全部
这两种方法都是对连接的数据库进行数据库的访问的方法。
使用command对象访问数据库,一般和DataReader一起用,这种方式的优点是不占用额外的内存,读取的速度比较快,但是所需编写的程序代码比较长。
使用DataSet访问数据库,这种方式的优点是所需编写的代码程序少,但是需要占用额外的内存,并且读取数据的速度比前一种相对来说慢。
至于需要采用什么样的方式,就要看程序员所要开发系统的特点了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kaoqiangshao
2009-02-26 · TA获得超过304个赞
知道小有建树答主
回答量:206
采纳率:0%
帮助的人:237万
展开全部
你这个有什么可比性啊
一个是插入数据,一个是查询数据然后再控件上绑定
要比就比SqlDataAdapter和 SqlDataReader

SqlDataAdapter性能肯定比SqlDataReader要差很多
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
食品中化学扫盲
2009-02-26 · TA获得超过230个赞
知道小有建树答主
回答量:365
采纳率:0%
帮助的人:274万
展开全部
方法一:使用起来牺牲的是连接数据库性能
方法二:牺牲的是内存

各有优劣,如果频繁访问数据库可以用方法二

如果很多人使用,可以考虑方法一
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
2known
2009-02-26 · TA获得超过1334个赞
知道小有建树答主
回答量:511
采纳率:100%
帮助的人:354万
展开全部
方法一其实是方法二执行的细节请况

方法二并不完整,没有包含连接字符串和查询命令的定义,使用了参数 a 来实现。

而在调用之前,a也是需要定义好的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
linxiaoj1
2009-02-26 · TA获得超过100个赞
知道答主
回答量:327
采纳率:0%
帮助的人:166万
展开全部
第一个方法完成了一个新增。
第二个方法绑定了一个控件。
2种方法都没体现C#的封装。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式