c#发展

注册

 

发新话题 回复该主题

如何通过代码连接SQLServer数据 [复制链接]

1#
北京白癜风的治疗

1LSGO软件技术团队

贡献人:马燕鹏

如果喜欢这里的内容,你能够给我最大的帮助就是转发,告诉你的朋友,鼓励他们一起来学习。

Ifyoulikethecontenthere,thegreatesthelpyoucangivemeisforwarding,sotellyourfriendsandencouragethemtolearntogether.

我们曾经为南方电网做过几个有关架空线路的科技项目,要趁着假期有整段的空闲时间,把这些代码整理一下,放入团队刚刚重构的代码库中。

由于这些项目使用的数据库为SQLServer,所以在整理代码之前需要解决两个问题:

把以前备份的数据库文件还原。

创建连接SQLServer数据库的配置文件。

我在这里做个记录,等开学之后新进入LSGO软件技术团队的小伙在CodeReview团队代码时有个参考。最起码根据步骤能够把环境配置好,让代码Run起来。

先解决第一个问题,备份数据的还原。

Step1:进入SQLServer创建一个空白数据库,我们这里创建的数据库名称为HeYuan。

进入SQLServer

Step2:还原数据库文件,这里需要注意还原选项的配置。

还原数据库文件

此处选择源设备然后在相应的目录中添加需要还原的数据库文件。

选择还原的文件

特别注意,在选项部分勾选覆盖现有数据库(WITHREPLACE)(O)否则还原失败。

设置还原文件选项

Step3:查看还原之后的数据,确认是否完整。

查看数据

如果当初备份的文件没有问题,到这里,还原数据库文件就搞定了。

接着,我们解决第二个问题,通过代码连接数据库,由于SQLServer数据库对sa用户是屏蔽的,所以我们需要先对登陆的sa用户属性进行设置。另外SQLServer默认的身份验证是Windows模式,我们也需要将其修改为SQLServer和Windows模式。

Step1:设置sa用户属性。

找到sa用户

在状态中将登陆设为开启。

设置sa用户授权

在常规中设置sa用户的密码,在写代码连接数据库时需要用到。

设置sa用户密码

Step2:设置数据库的连接属性。

选择连接…修改连接属性

Step3:重启数据库服务

通过以上三个步骤,我们就可以通过代码的方式来连接SQLServer数据库了,否则连接失败。代码如下:

publicinterfaceILSGOConnectionProperty{stringServer{get;set;}stringDatabase{get;set;}stringUser{get;set;}stringPassword{get;set;}}publicoverrideboolCreateMisDbConnection(ILSGOConnectionPropertyconnectionProperty,refstringerror){stringserver=connectionProperty.Server;stringuserId=connectionProperty.User;stringpassword=connectionProperty.Password;stringdatatbase=connectionProperty.Database;stringconnectionString="InitialCatalog="+datatbase+";DataSource="+server+";UserId="+userId+";Password="+password+";";SqlConnectionpConnection=newSqlConnection(connectionString);try{pConnection.Open();returntrue;}catch(Exceptionex){error=ex.Message;returnfalse;}}

我们可以通过WinForm,采用与用户交互的方式来构造与数据库连接的配置文件。

填写参数连接成功

得到XML的配置文件如下:

OLPlantSafeDistanceSystemVersion1.0DataSourceServer10.14.12./ServerUsersa/UserPassword5d/PasswordDatabaseHeYuan/DatabaseDBTypeSqlServer/DBType/DataSource/OLPlantSafeDistanceSystemVersion1.0

这样,在编写代码时,通过读取配置文件来确定与数据库的连接信息,当数据库发生变动时,只需要更改配置文件就好,满足软件开发的开闭原则。

最后总结一下,以往新加入的小伙伴,遇到问题之后,我们都会详细的给予解答。慢慢的,我们发现很多问题都是相同的。干脆,我就把他们常问的问题,整理出来写在这个

分享 转发
TOP
发新话题 回复该主题