转发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的连接并实现增删改查的功能

使用 C#、SQL Server 设计数据访问层

C# 中的 SQL Server Express 连接字符串错误

带有数据目录的连接字符串(c#、sql server)

Sql-Server 配置远程连接以及C#连接字符串