首页 > 数据库 >C# 连接数据库

C# 连接数据库

时间:2023-04-09 18:02:32浏览次数:42  
标签:string C# 数据库 Source SqlConnection connStr 连接 conn

一、SQL SERVER 连接字符串语法:

1、SQL SERVER验证(两种写法)(安全连接)

string connStr = "Data Source=.;Initial Catalog=DatabaseName;User Id=sa;Password=123";
或
string connStr = "server=.;database=DatabaseName;uid=sa;pwd=123";

即:Data Source <=> server

       Initial Catalog <=> database

       User Id <=> uid

       Password <=> pwd

2、windows验证(可信连接)

string connStr = "Data Source=.;Initial Catalog=DatabaseName;Integrated Security=SSPI";
或
string connStr = "Data Source=.;Initial Catalog=DatabaseName;Integrated Security=True";
或
string connStr = "Data Source=.;Initial Catalog=DatabaseName;Trusted_Connection=True";

注:如果服务器是本地,可以用 local 或 .(一个点) 表示,如果是远程服务器,则用 IP,端口 表示。

       连接字符串中的键值对不区分大小写。

 二、配置文件中存储方式

可以把连接字符串保存到配置文件中(App.config)

1、配置到<connectionStrings>节点中(推荐):

<add name="connStr" connectionString="server=.;database=test;uid=sa;pwd=123;" providerName="System.Data.SqlClient"/>

2、也可以配置到<appSettings>节点:

<add key="connStr" value="server=.;database=test;uid=sa;pwd=123;"/>

读取配置文件中的连接字符串

1、首先,在项目下的“引用”中,点击右键——添加引用,添加:System.Configuration。

2、在程序最上面,添加:using System.Configuration;

3、读取连接字符串:

conn.ConnectionString = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;//<ConnectionStrings>节点中读取方法
conn.ConnectionString = ConfigurationManager.AppSettings["connStr"].ToString();//<AppSettings>节点中读取方法

 连接对象的创建

string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
//创建连接对象的第一种方式(推荐)
SqlConnection conn = new SqlConnection(connStr);
//创建连接对象的第二种方式
SqlConnection conn = new SqlConnection();
conn.ConnectionString = connStr;

使用using来释放对象

//SqlConnection继承于IDisposeable接口,可以使用using 来释放对象
SqlConnection conn = null;
using (conn = new SqlConnection(connStr))
{
  //代码
}
Console.WriteLine(conn.State);//Closed

 

  

 

标签:string,C#,数据库,Source,SqlConnection,connStr,连接,conn
From: https://www.cnblogs.com/sound-of-wind-rain/p/17300056.html

相关文章

  • 如何在Linux环境下配置C/C++环境
    root权限后,使用yum源安装yum-yinstallgccgcc-c++kernel-devel//安装gcc、c++编译器以及内核文件查看GCC版本,看是否安装成功gcc-v出现这个就是安装成功了编译&运行C文件为:gcc-o文件名(无后缀)文件名(有后缀)并回车gcc-otesttest.cC++文件为:g++-o文......
  • 自用纯C语言实现任务调度(可用于STM32、C51等单片机)
    前言  这个任务调度模块的实现是形成于毕设项目中的,用在STM32中,断断续续跨度2个月实现了一些基本功能,可能后面再做其他项目时会一点点完善起来,也会多学习相关知识来强化模块的实用性和高效性,毕竟用自己自主实现出来的功能还是蛮舒心的。任务调度模式结构  整体上的结构属于......
  • sqlite数据库在close()之后任然不能释放与db文件的连接
    conn.Close();conn.Dispose();在close和dispose后,必须要加上以下两句代码,让垃圾回收机制启动,否则仍不能释放与db文件的连接GC.Collect();GC.WaitForPendingFinalizers();......
  • 糖果 Candy uva1639
    有两个盒子各有n(n<=2e5)个糖,每天随机选一个(概率分别为p,1-p),然后吃一颗糖。直到有一天,没糖了!输入n,p,求此时另一个盒子里糖的个数的数学期望   假设最后某个盒子有k颗糖,然后计算概率即可 #include<iostream>#include<cstring>#include<algorithm>#include<cmath>u......
  • Vue——patch.ts【十四】
    前言前面我们简单的了解了vue初始化时的一些大概的流程,这里我们扩展下Vue的patch。内容这一块主要围绕vue中的__patch__进行剖析。__patch__Vue.prototype.__patch__的方法位于scr/platforms/web/runtime/index.ts中;//installplatformpatchfunction//判断是......
  • Java: switch lambda-like syntax
     Theswitchexpressionhasanadditionallambda-likesyntaxanditcanbeusednotonlyasastatement,butalsoasanexpressionthatevaluatestoasinglevalue. Withthenewlambda-likesyntax,ifalabelismatched,thenonlytheexpressionorstat......
  • 浏览器层面优化前端性能(1):Chrom组件与进程/线程模型分析
    现阶段的浏览器运行在一个单用户,多合作,多任务的操作系统中。一个糟糕的网页同样可以让一个现代的浏览器崩溃。其原因可能是一个插件出现bug,最终的结果是整个浏览器以及其他正在运行的标签被销毁。现代操作系统已经非常健壮了,它让应用程序在各自的进程中运行和不会影响到其他程序......
  • 浏览器史话中chrome霸主地位的奠定与国产浏览器的割据混战
    作为前端老鸟,从IE的6、7、8开始做前端,各种兼容性折磨死人。js还好有了jQuery。chrome出来后,真是救苦救难,解救程序员的于水火。但是可恶的boss还是要求兼容ie6,7。感谢淘宝团队的表率,率先不支持ie8以下浏览器。有了跟产品经理和老板抗争的勇气……下面来回顾下浏览器的发展历史浏......
  • abp(net core)+easyui+efcore实现仓储管理系统——模块管理升级(六十)
    Abp(netcore)+easyui+efcore实现仓储管理系统目录abp(netcore)+easyui+efcore实现仓储管理系统——ABP总体介绍(一)abp(netcore)+easyui+efcore实现仓储管理系统——解决方案介绍(二)abp(netcore)+easyui+efcore实现仓储管理系统——领域层创建实体(三) abp(netcore)+eas......
  • 使用eval的fromCharCode方法对js代码加壳
    在JavaScript中,使用eval函数可以将字符串作为代码来执行。这个特性可以被用来对JavaScript代码进行加壳以增加代码的安全性和保护知识产权。其中一个常用的方法是通过String.fromCharCode方法来创建一系列的ASCII字符,并将其拼接成一个包含加密代码的字符串。然后再通过eval函数执行......