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";
具体的实现字符串不说,只是随便找了两个例子,关键是想知道在连接上的优劣性,四楼的回答比较满意……希望能在两种方法的选择上给点建议…… 展开
(两种方法分别举出代码如下)
方法一:
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";
具体的实现字符串不说,只是随便找了两个例子,关键是想知道在连接上的优劣性,四楼的回答比较满意……希望能在两种方法的选择上给点建议…… 展开
7个回答
展开全部
数据处理最消耗时间的数据库连接。
从性能的角度看:
创建SqlConnection是建立数据库连接,如果多次创建即会非常消耗时间。它使用后必须用Close()释放,否即会一直占用宝贵的带宽资源。如果过多地占用带宽资源别的电脑就连不上那个数据库了。
创建SqlDataAdapter同样也是会有创建数据库连接的操作,但是它优化了这个连接的过程(牺牲更多的内存换取更快的速度),创建一次后可以多次使用而不会一直占用宝贵的带宽资源。
从使用的角度来看:
SqlConnection + SqlCommand是可以做比较高级的数据处理,比如读取单个数据,执行存储过程,和一些比较复杂的SQL语句等。
SqlDataAdapter只能从数据取得一个表,或用程序一个表更新数据库的另一个表,是对数据库执行比较简单的操作。
从使用的复杂来看:
一般用SqlConnection + SqlCommand会比用SqlDataAdapter要写更多的代码,所以SqlDataAdapter是数据库连接的首选方法。
从性能的角度看:
创建SqlConnection是建立数据库连接,如果多次创建即会非常消耗时间。它使用后必须用Close()释放,否即会一直占用宝贵的带宽资源。如果过多地占用带宽资源别的电脑就连不上那个数据库了。
创建SqlDataAdapter同样也是会有创建数据库连接的操作,但是它优化了这个连接的过程(牺牲更多的内存换取更快的速度),创建一次后可以多次使用而不会一直占用宝贵的带宽资源。
从使用的角度来看:
SqlConnection + SqlCommand是可以做比较高级的数据处理,比如读取单个数据,执行存储过程,和一些比较复杂的SQL语句等。
SqlDataAdapter只能从数据取得一个表,或用程序一个表更新数据库的另一个表,是对数据库执行比较简单的操作。
从使用的复杂来看:
一般用SqlConnection + SqlCommand会比用SqlDataAdapter要写更多的代码,所以SqlDataAdapter是数据库连接的首选方法。
展开全部
这两种方法都是对连接的数据库进行数据库的访问的方法。
使用command对象访问数据库,一般和DataReader一起用,这种方式的优点是不占用额外的内存,读取的速度比较快,但是所需编写的程序代码比较长。
使用DataSet访问数据库,这种方式的优点是所需编写的代码程序少,但是需要占用额外的内存,并且读取数据的速度比前一种相对来说慢。
至于需要采用什么样的方式,就要看程序员所要开发系统的特点了.
使用command对象访问数据库,一般和DataReader一起用,这种方式的优点是不占用额外的内存,读取的速度比较快,但是所需编写的程序代码比较长。
使用DataSet访问数据库,这种方式的优点是所需编写的代码程序少,但是需要占用额外的内存,并且读取数据的速度比前一种相对来说慢。
至于需要采用什么样的方式,就要看程序员所要开发系统的特点了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个有什么可比性啊
一个是插入数据,一个是查询数据然后再控件上绑定
要比就比SqlDataAdapter和 SqlDataReader
SqlDataAdapter性能肯定比SqlDataReader要差很多
一个是插入数据,一个是查询数据然后再控件上绑定
要比就比SqlDataAdapter和 SqlDataReader
SqlDataAdapter性能肯定比SqlDataReader要差很多
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
方法一:使用起来牺牲的是连接数据库性能
方法二:牺牲的是内存
各有优劣,如果频繁访问数据库可以用方法二
如果很多人使用,可以考虑方法一
方法二:牺牲的是内存
各有优劣,如果频繁访问数据库可以用方法二
如果很多人使用,可以考虑方法一
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
方法一其实是方法二执行的细节请况
方法二并不完整,没有包含连接字符串和查询命令的定义,使用了参数 a 来实现。
而在调用之前,a也是需要定义好的。
方法二并不完整,没有包含连接字符串和查询命令的定义,使用了参数 a 来实现。
而在调用之前,a也是需要定义好的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一个方法完成了一个新增。
第二个方法绑定了一个控件。
2种方法都没体现C#的封装。
第二个方法绑定了一个控件。
2种方法都没体现C#的封装。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询