c#

位置:IT落伍者 >> c# >> 浏览文章

C#连接数据库特殊方法两则


发布日期:2021年04月16日
 
C#连接数据库特殊方法两则

用过VS和VS的开发人员肯定知道在安装这个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);

//通过系统用户验证连接数据库

conOpen();

SqlDataAdapter thisadapter = new SqlDataAdapter

(select * from reader where 条形码= + txm + con);

SqlCommandBuilder thisbuilder = new SqlCommandBuilder(thisadapter);

DataSet thisdataset = new DataSet();

thisadapterFill(thisdataset reader);

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

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

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

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

方法二

连接代码

SqlConnectionStringBuilder connectstringbuilder =

new SqlConnectionStringBuilder();

connectstringbuilderDataSource = @(local)\sqlexpress;

//指定数据库服务

connectstringbuilderAttachDBFilename=@|DataDirectory|\data\librarymdf;

//数据库文件采用相对地址的方式来指定注意格式

connectstringbuilderIntegratedSecurity = true;

connectstringbuilderUserInstance = true;

SqlConnection thisconnection =

new SqlConnection(connectstringbuilderConnectionString);

SqlDataAdapter thisadapter =

new SqlDataAdapter

(select * from reader where 条形码= +txm + thisconnection);

DataSet dt = new DataSet();

thisadapterFill(dt info);

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

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

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

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

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

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

上一篇:.Net中如何操作IIS的原理分析

下一篇:C#实现从Word中提取指定单元格数据