前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C#连接数据库的一些鲜为人知的方法

C#连接数据库的一些鲜为人知的方法

作者头像
SAP梦心
发布2022-05-09 13:20:16
3980
发布2022-05-09 13:20:16
举报

用过VS2005和VS2008的开发人员肯定知道在安装这个IDE的时候会自动安装了一个精简版的SQL数据库服务SqlExpress,这个数据库系统少了最重要的企业管理器,也就是说不能用它来建数据表和一些可视化操作。如果碰到项目中要用到SQL数据库的时候也不能附加到数据库服务里面去,导致项目在连接数据库的时候会提示找不到数据库文件而读取失败。那么,这个精简版的SQL数据库服务是不是意味着一无是处呢?

其实未必,只要我们在连接数据库的时候利用好它就可以了~~

在这里我介绍两种C#中连接数据库的方法。一种需要附加数据库,一种则不要,只需要安装这个精简版的SQL就可以了…

方法一:

连接代码:

string strconn;

strconn = "Data Source=(local);";

strconn += "Initial Catalog=student;";

strconn += "User ID=sa;";

strconn += "Password=;";

SqlConnection con = new SqlConnection(strconn); //通过用户名和密码连接数据库

//SqlConnection con = new SqlConnection("Data Source=(local);Initial Catalog=library;Integrated Security=True"); //通过系统用户验证连接数据库

con.Open();

SqlDataAdapter thisadapter = new SqlDataAdapter("select * from reader where 条形码='" + txm + "'", con);

SqlCommandBuilder thisbuilder = new SqlCommandBuilder(thisadapter);

DataSet thisdataset = new DataSet();

thisadapter.Fill(thisdataset, "reader");

…… //接下去就是对数据的操作了

这种方法必须要附加数据库文件才可以访问…

优点是可以通过企业管理器直接对数据库进行可视化操作,比如对记录进行全权修改…万一碰到数据有错误,在系统里面不好修改的时候可以进行强制维护。同时,如果后期更新系统,增加新的数据库需求,比如增加字段就可以在里面操作。

当然这也算是缺点,乱改数据可能导致破坏数据库的一些规则和数据一致性,严重的话会导致灾难性的数据崩溃。

方法二:

连接代码:

SqlConnectionStringBuilder connectstringbuilder = new SqlConnectionStringBuilder();

connectstringbuilder.DataSource = @"(local)\sqlexpress"; //指定数据库服务

connectstringbuilder.AttachDBFilename = @"|DataDirectory|\data\library.mdf"; //数据库文件,采用相对地址的方式来指定。注意格式

connectstringbuilder.IntegratedSecurity = true;

connectstringbuilder.UserInstance = true;

SqlConnection thisconnection = new SqlConnection(connectstringbuilder.ConnectionString);

SqlDataAdapter thisadapter = new SqlDataAdapter("select * from reader where 条形码='" + txm + "'", thisconnection);

DataSet dt = new DataSet();

thisadapter.Fill(dt, "info");

…… //接下去就是对数据的操作了

这个方法最大的有点就是允许我们不用安装600M(MSSQL2000)或者1G(MSSQL2005)的数据库系统,只需要安装SQL精简版的数据库服务(22M左右)就可以了。而且不用去附加数据库…

但是这种优点也带来致命的缺点,就是第一次连接数据库的时候会有点慢,这不要紧,但它会重新格式数据库文件的一些结构,导致一些数据格式发生变化,因此连接之后这样的数据库文件是不能再次被附加到数据库系统中的(会报错)。也就是说后期如果要修改数据库,比如增加字段和表等是不太可能实现的。

不过这也在一定的程度上带来了安全性。

以上这两种数据库连接方式各有千秋,是否要使用就看你的系统实际应用需求了…

(注:这两种方法在VS2005+MSSQL调试通过…)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2009-02-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档