转发C#连接sql server数据库的方法
Posted James wang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了转发C#连接sql server数据库的方法相关的知识,希望对你有一定的参考价值。
1、连接SQLEXPRESS
A)、连接到 SQLServer Express Edition 数据库,下面的连接字符串连接到一个名为 Database1 的数据库:
DataSource=.\\SQLEXPRESS;Initial Catalog=Database1;Integrated Security=True;
B)、连接数据库文件Database1(VS自带SQLEXPRESS)
DataSource=.\\SQLEXPRESS;AttachDbFileName=D:\\Projects\\CrystalReports\\WebUI\\Database1.mdf;IntegratedSecurity=True;User Instance=True;
如果存在于WEB应用程序的App_Data 目录中,可以用|DataDirectory| 连接字符串变量,以代替应用程序的 App_Data 目录的文件路径,简便且能够提高应用程序的数据安全性,如下:
DataSource=.\\SQLEXPRESS;AttachDbFileName=|DataDirectory|Database1.mdf;IntegratedSecurity=True;User Instance=True;
注意:当User Instance设置为true时,SQL ServerExpress Edition只允许有单个连接连到.mdf文件。
2、连接SQL SERVER(非SQLEXPRESS)
DataSource=服务器名\\实例名;Initial Catalog=库名;Persist Security Info=True;User ID=sa;Password=123456;
或
Data Source=服务器名\\实例名;Initial Catalog=库名;Integrated Security=True;
或
Data Source=服务器名\\实例名;Initial Catalog=库名;Integrated Security=True;
注意:服务器名也可以是IP地址。当Pooling设置为true时,SQL连接将从连接池获得,如果没有则新建并添加到连接池中。pooling=false是关闭连接池,系统默认的是开启的。另外,当选择pooling=FALSE的时候,由于网络中断造成的数据库连接中断,可以重新连接,为TRUE就不可以,但为True时访问速度更快。
3、从配置文件中获取连接字符串
A)、如果连接字符串是配置在web.config或app.config中的,获取方式如下。
web.config或app.config中
<appSettings> <add key="ConnectionString"value="server=服务器名\\实例名;database=库名;uid=sa;pwd=123456;Pooling=true;" /> </appSettings>
获取字串代码:
string connectStr= ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
转自:https://blog.csdn.net/hp_bigpig/article/details/37596485
在 C# 中的 SQL Server 上合并选择
【中文标题】在 C# 中的 SQL Server 上合并选择【英文标题】:Merge select on SQL Server in C# 【发布时间】:2016-09-03 21:08:55 【问题描述】:有什么方法可以合并 2 选择,这两个选择都返回单独的数据列表
我只想连接数据库一次
第一个查询:
string strQuery1=
string.Format("SELECT distinct top 10 Title, Id FROM Table1");
IQueryable<MyCompanyDto> list =
_entities.Database.SqlQuery<MyCompanyDto>(strQuery1).AsQueryable();
第二次查询:
string strQuery2=
string.Format("SELECT ProductName, CountryID FROM Table2");
IQueryable<MyProductDto> list =
_entities.Database.SqlQuery<MyProductDto>(strQuery2).AsQueryable();
【问题讨论】:
***.com/questions/12715620/… @EvgeniDimitrov 谢谢,我检查了 【参考方案1】:两个查询都可以连接一次,但你必须创建两个DbCommand
:
string strQuery1= string.Format("SELECT distinct top 10 Title, Id FROM Table1");
string strQuery2= string.Format("SELECT ProductName, CountryID FROM Table2");
DataTable dataTable1 = new DataTable();
DataTable dataTable2 = new DataTable();
using (SqlConnection conn = new SqlConnection(<connection_string>))
conn.Open();
using(DbCommand command = conn.CreateCommand())
command.Connection = conn;
command.CommandText = strQuery1;
using (var reader = dbCommand.ExecuteReader())
dataTable1.Load(reader);
using(DbCommand command = conn.CreateCommand())
command.Connection = conn;
command.CommandText = strQuery2;
using (var reader = dbCommand.ExecuteReader())
dataTable2.Load(reader);
【讨论】:
以上是关于转发C#连接sql server数据库的方法的主要内容,如果未能解决你的问题,请参考以下文章
winform,用c#链接 sql server。对数据库进行查询记录,增加记录,删除记录。,修改记录。
用C#语言实现与SQL server的连接并实现增删改查的功能