C#连接SQL Server的实现方法

前言

对于专业的程序员来说,C#连接SqlServer进行新增、修改、查询哪简直就是小菜一碟,信手拈来 ,但对刚入门孩童们就不是哪么一回事了,有时一个代码出错就折腾好几天,所以下面这篇文章就来给大家介绍下C#连接SQL Server的相关内容。

C# 用 Connection 连接数据库,一般在连接字符串里需要指定要连接数据源的种类、数据库服务器的名称、数据库名称、登陆用户名、密码、等待连接时间、安全验证设置等参数信息,这些参数之间用分号隔开。下面将详细描述这些常用参数的使用方法。

1. Provider 参数

Provider 参数用来指定要连接数据源的种类。如果使用的是 SQL Server Data Provider,则不需要指定 Provider 参数,因为 SQL Server Data Provider 已经指定了所要连接的数据源是 SQL Server 服务器。如果要使用的是 OLE DB Provider 或其他连接数据库,则必须指定 Provider 参数

2. Server 参数

Server 参数用来指定需要连接的数据库服务器(或数据域)。例如,Server=(local) 指定连接的数据库服务器是本地的。另外,如果连接的是远端的数据库服务器,则 Server 参数可以写成 Server=IP 或 Server="远程计算机名"的形式。Server 参数也可以写成Data Source,如:Data Source=IP。例如:

server=(local); Initial Catalog=student; user Id=sa; password=;

Data source=(local); Initial Catalog=student; user Id=sa; password=;

3. DataBase 参数

DataBase 参数用来指定连接数据库名,如:DataBase=Master,说明连接的数据库是 Master。DataBase 参数也可以写成 Initial catalog,如:Initial catalog=Master

4. Uid 参数和 Pwd 参数

Uid 参数用来指定登录数据源的用户名,也可以写成 user ID

Pwd 参数用来指定连接数据库的密码,也可以写成 password

5. Connect Timeout 参数

Connect Timeout 参数用于指定打开数据库时的最大等待时间,单位是秒。如果不设置此参数,则默认为15秒。如果设置成-1,表示无限等待

6. Integrated Security 参数

Integrated Security 参数用来说明登录到数据源时是否使用SQL Server的集成安全验证。如果为 True,则使用 Windows 身份验证模式

Data Source=(local); Initial catalog=student; Integrated Security=SSPI;

下面是一个代码实例:

private void BindStudent()
 {
 // strCon 为连接字符串
 string strCon = @"data source=(local);initial catalog=DRUGS;integrated security=true";
 using (SqlConnection con = new SqlConnection(strCon))
 {
  con.Open();
  if (con.State == ConnectionState.Open)
  {
  string strCmd = "select * from alldrugs";
  SqlDataAdapter da = new SqlDataAdapter(strCmd, strCon);
  //创建一个dataset接收da申请下来的数据
  DataSet ds = new DataSet();
  da.Fill(ds);

  //创建三个空的table,分别接收ds中的0-29,30-59,60-89条数据
  DataTable table1 = new DataTable();
  DataTable table2 = new DataTable();
  DataTable table3 = new DataTable();
  table1 = ds.Tables[0].Clone();//克隆表的结构传递给table1
  table2 = ds.Tables[0].Clone();//克隆表的结构传递给table2
  table3 = ds.Tables[0].Clone();//克隆表的结构传递给table3
  for (int i = 0; i < 90; i++)
  {
   DataRow dr = ds.Tables[0].Rows[i];
   if (i < 30)
   {
   table1.Rows.Add(dr.ItemArray);
   }
   else if (i >= 30 && i < 60)
   {
   table2.Rows.Add(dr.ItemArray);
   }
   else if (i >= 60 && i < 90)
   {
   table3.Rows.Add(dr.ItemArray);
   }
   else
   {
   break;
   }
  }
  this.Repeater1.DataSource = table1;
  this.Repeater1.DataBind();
  this.Repeater2.DataSource = table2;
  this.Repeater2.DataBind();
  this.Repeater3.DataSource = table3;
  this.Repeater3.DataBind();
  }
 }
 }

别忘了在使用 SqlConnection 之前要导入命名空间

using System.Data;
using System.Data.SqlClient;

最后说一下为什么要使用 using() 这种方式来连接数据库并进行相关的操作,是因为使用 using 会自动帮我们关闭掉数据库连接。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

(0)

相关推荐

  • Sql Server的一些知识点定义总结

    数据库完整性:是指数据库中数据在逻辑上的一致性.正确性.有效性和相容性 实体完整性(Entity Integrity 行完整性):实体完整性指表中行的完整性.主要用于保证操作的数据(记录)非空.唯一且不重复.即实体完整性要求每个关系(表)有且仅有一个主键,每一个主键值必须唯一,而且不允许为"空"(NULL)或重复. 域完整性(Domain Integrity 列完整性):是指数据库表中的列必须满足某种特定的数据类型或约束.其中约束又包括取值范围.精度等规定.表中的CHECK.FOREI

  • SQL Server中的SELECT会阻塞SELECT吗

    前言 在SQL Server中,我们知道一个SELECT语句执行过程中只会申请一些意向共享锁(IS) 与共享锁(S), 例如我使用SQL Profile跟踪会话86执行SELECT * FROM dbo.TEST WHERE OBJECT_ID =1 这个查询语句,其申请.释放的锁资源的过程如下所示: 而且从最常见的锁模式的兼容性表,我们可以看到IS锁与S锁都是兼容的,也就是说SELECT查询是不会阻塞SELECT查询的. 现有的授权模式 请求的模式 IS S U IX SIX X 意向共享 (

  • sqlserver2008首次登录失败问题及解决方法

    首次安装完sqlserver之后,使用(local)登陆失败情况分析: 失败的可能行有两个,在sqlserver管理器里面查看下图所标位置,并设置成如下配置 如上设置完成后,使用(local)连接还是失败,则继续检查: 右击,属性:检查IPADDRESS,找到IP3设置成如下参数 设置完成之后,急需找到IPALL设置成 重启Service 总结 以上所述是小编给大家介绍的sqlserver2008首次登录失败问题及解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的.

  • SQL Server视图的讲解

    在初期的工作中,要做一个系统登录验证,翻阅同事做的登录验证,发现同事们做用户名验证时,查的结果集来自一个视图,之前也弄过视图,但很少去仔细看过有关方面的详细知识,于是特意百度谷歌了一下,总结如下知识: 视图,是基于SQL语句的结果集的可视化表.从用户角度来看,一个视图是从一个特定的角度来查看数据库中的数据.从数据库系统内部来看,一个视图是由SELECT语句组成的查询定义的虚拟表.从数据库系统内部来看,视图是由一张或多张表中的数据组成的,从数据库系统外部来看,视图就如同一张表一样,对表能够进行的一

  • laravel5使用freetds连接sql server的方法

    相关版本 系统ubuntu 16.04, 使用的PHP版本是7.0.30, sqlserver 2012, freetds为0.92 Laravel5.5和5.4都测试过了 什么是FreeTDS  简单的说FreeTDS是一个程序库,可以实现在Linux系统下访问微软的SQL数据库! FreeTDS 是一个开源的程序库,是TDS(表列数据流 )协议的再次实现.它可以被用在Sybase的db-lib或者ct-lib库.它也包含一个ODBC的库.允许许多开源的应用软件比如Perl和PHP(或者你自己

  • SQL Server游标的介绍与使用

    游标概念 数据库操作中我们常常会遇到这样情况,即从某一结果集中逐一地读取一条记录.那么如何解决这种问题呢?游标为我们提供了一种极为优秀的解决方案. 游标(cursor)是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果. 每个游标区都有一个名字.用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理.游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制. 游标总是与一条SQL 查询语句

  • SQL Server 2008数据库分布式查询知识

    在接触公司一个系统时,公司使用的是SQL Server 2008数据库,里面涉及到了多个数据库之间的查询,而且数据库是分布式的,数据库分布在多台服务器之间,并且各个数据库各尽其责,负责存放不同模块功能的数据.这里面就要涉及到了数据库的分布式查询. 补充一下分布式查询的知识: 分布式查询从多异类数据源中访问数据.这些数据源可以存储在同一台计算机或不同的计算机上.Microsoft SQL Server 通过使用 OLE DB 来支持分布式查询. SQL Server 用户可以使用分布式查询访问以下

  • SQL Server三种锁定模式的知识讲解

    sql server 锁定模式有三种:共享( S锁),更新(U锁),排他(X锁): S锁是共享锁,如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁.获准共享锁的事务只能读数据,不能修改数据. 个人理解为,对数据A的操作就只能是SELECT ,(联想下,S锁,不就是Select的首字母么),其他事务对A数据的UPDATE ,DELETE都不能进行: U锁是更新锁.用于可更新的资源中.防止当多个会话在读取.锁定以及随后可能进行的资源更新时发生常见形式的死锁. 原理解释: 更

  • 详解易语言操作sql server实例

    最近看到很多初学者在问在易语言中如何操作SQL Server以外部数据库,也有人提出想要个全面的操作过程,为了让大家能够尽快上手,我给大家简单介绍一下操作SQL的过程,希望能起到抛砖引玉的作用. 由于我本身工作业比较忙,就以我目前做的一个软件的部份内容列给大家简单讲讲吧,高手就不要笑话了,只是针对初学者 第一步,首先需要建立一个数据库: 以建立一个员工表为例,各字段如下: 3 员工ID int 4 0 0 登陆帐号 nvarchar 30 1 0 密码 nvarchar 15 1 0 所属部门

  • SQL Server四个系统表的知识讲解

    SQL SERVER 中有四个系统表 master, model, msdb,tempdb.这四个表有什么用? 一般DB使用中我们开发人员很少去关注这四个表.但是这四个表个人感觉很重要,掌握一些基本的知识会对自己有好处,于是我记录下来. master 这个表保存了SQL server的系统信息,用于跟踪整个SQL系统: model 这个是个模板表.可以基于这个表来得到一个副本,怎么说呢,就是说要改变新建标准数据库的样式的话,可以根据需要改变model ,是新建DB的模板: msdb 是SQL 代

随机推荐