一、Web.config配置

<connectionStrings>
<add name="constr_name" connectionString="server=192.168.1.139;uid=sa;pwd=123456;Trusted_Connection=no;Database=dabasename" providerName="system.data.sqlclient"/>
</connectionStrings>
注:constr_name(自定义名),server(sqlserver服务器地址),uid(登录名),pwd(密码),Trusted_Connection(是否使用windows账户登录),Database(数据库名),providerName(数据库类型,sqlserver的为system.data.sqlclient)-

二、C#程序

  例1、 获取所有用户

//一、连接数据库
string connectionString = ConfigurationManager.ConnectionStrings["constr_name"].ToString();
SqlConnection conn = new SqlConnection(connectionString);
conn.Open(); //二、构建数据库操作类
SqlCommand command = new SqlCommand();
command.CommandText = "SELECT * FROM [User];";
command.Connection = conn; //三、读取数据
SqlDataReader reader = command.ExecuteReader(); //四、将数据写入对象
User user = null;
List<User> list = new List<User>();
while (reader.Read())
{
user = new User();
user.id = (int)reader["id"];
user.name = reader["name"].ToString(); list.Add(user);
} //五、关闭
reader.Close();
conn.Close(); //另外,User实体类
class User
{
public int id { get; set; }
public string name { get; set; }
}

  例2、 使用事务,插入用户数据

int result = ;

//一、连接数据库
string connectionString = ConfigurationManager.ConnectionStrings["constr_name"].ToString();
SqlConnection conn = new SqlConnection(connectionString);
conn.Open(); //--开始事务
SqlTransaction trans = conn.BeginTransaction(); try
{
//二、构建数据库操作类
SqlCommand command = new SqlCommand();
command.CommandText = "INSERT INTO [User] VALUES(1,'name1');";
command.Connection = conn;
command.Transaction = trans;//事务
result += command.ExecuteNonQuery();//插入第一条用户数据并返回影响条数 command.CommandText = "INSERT INTO [User] VALUES(2,'name2');";
result += command.ExecuteNonQuery();//插入第二条用户数据并返回影响条数 if (result == )
{
trans.Commit();//两条数据都插入成功则提交事务
}
else
{
trans.Rollback();//否则回滚事务,取消所有插入的数据
} }
catch (System.Exception ex)
{
trans.Rollback();//出错,回滚事务
}
finally
{
conn.Close();
}

另外:

如果忘记关闭连接对象(使用conn.Close();),将影响性能,所以鼓励使用using,详情见以下连接:

http://blog.csdn.net/u011096141/article/details/24370141

当然,忘记关闭的情况应该是在一些比较复杂项目中才会发生。

ADO.NET 基础 (SQL Server)的更多相关文章

  1. .NET Core开发日志——ADO.NET与SQL Server

    在.NET世界,如果想要对数据库进行操作,总少不了ADO.NET的身影.在.NET Core里同样离不开那些熟悉的类库与API.这里简略地介绍下如何通过ADO.NET对SQL Server进行不同的处 ...

  2. ADO.NET访问SQL Server调用存储过程带回参

    1,ADO.NET访问SQL Server调用存储过程带回参 2,DatabaseDesign  use northwind go --存储过程1 --插入一条商品 productname=芹菜 un ...

  3. JDBC连接SQL server与ADO.NET连接Sql Server对比

    JDBC连接SQL server与ADO.NET连接Sql Server对比 1.JDBC连接SQL server 1)java方面目前有很多驱动能够驱动连接SQL servernet.   主流的有 ...

  4. 数据库开发基础-SQl Server 基础

    SQL Server 基础 1.什么是SQL Server SQL:Structured Query Language  结构化查询语言 SQL Server是一个以客户/服务器(c/s)模式访问.使 ...

  5. ADO.NET中SQL Server数据库连接池

    连接到数据库服务器通常由几个需要很长时间的步骤组成. 必须建立物理通道(例如套接字或命名管道),必须与服务器进行初次握手,必须分析连接字符串信息,必须由服务器对连接进行身份验证,必须运行检查以便在当前 ...

  6. 使用ADO.NET对SQL Server数据库进行訪问

    在上一篇博客中我们给大家简介了一下VB.NET语言的一些情况,至于理论知识的学习我们能够利用VB的知识体系为基础.再将面向对象程序设计语言的知识进行融合便可进行编程实战. 假设我们须要訪问一个企业关系 ...

  7. 数据库开发基础-SQl Server 聚合函数、数学函数、字符串函数、时间日期函数

    SQL 拥有很多可用于计数和计算的内建函数. 函数的语法 内建 SQL 函数的语法是: SELECT function(列) FROM 表 函数的类型 在 SQL 中,基本的函数类型和种类有若干种.函 ...

  8. 数据库开发基础 SQL Server 数据库的备份、还原与分离、附加

    认识数据库备份和事务日志备份 数据库备份与日志备份是数据库维护的日常工作,备份的目的是 一.在于当数据库出现故障或者遭到破坏时可以根据备份的数据库及事务日志文件还原到最近的时间点将损失降到最低点 二. ...

  9. 数据库开发基础-SQl Server 控制数据库的服务+数据库的创建与管理(增删改查)

    控制数据库的服务: 方法一: 1.Windows+R 打开运行  打开cmd 2.输入net start MSSQLserver 启动数据库服务 输入net stop MSSQLserver 关闭数据 ...

随机推荐

  1. java 图片处理工具类

    import java.awt.Image;  import java.awt.Rectangle;  import java.awt.geom.AffineTransform;  import ja ...

  2. ecplise常用快捷键

    常用 Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+ ...

  3. 【ASP.NET 问题】IIS发布网站后出现 "处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误"的解决办法

    新装IIS,然后发布网站,运行出现如下错误提示 处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler” 于是 ...

  4. python之计算器(第四天)

    作业: 使用正则表达式和递归实现计算器功能. 实现: 1.实现带括号的计算 2.实现指数.加减乘除求余等功能 一.实例说明: 本实例自己写了个版本,但依旧存在一点bug,例:-2-2等计算问题,故最后 ...

  5. Linux下PHP+MYSQL+APACHE配置方法

    apache: http://www.apache.org  mysql: http://www.mysql.com  php: http://www.php.net/downloads.php  g ...

  6. JSTL标签库之核心标签

    一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...

  7. IOS textField(textview)字数判断

    textfield 有时会需要设置字数限制,如果只是英文或者符号,可以直接在以下代理方法中判断字数 -(BOOL)textField:(UITextField *)textField shouldCh ...

  8. linux下的a.out文件

       当然这里,我更重要的是强调这个什么段,什么段.这以前就知道.但其实是对一个可以执行的c语言程序的分析.就好比你分析一篇作文.有标题.有段落. .out文件就是扩展名为out的文件,它本身不代表任 ...

  9. PHP调用webservice遇到 Soap WSDL Error - "failed to load external entity

    本人遇到的原因是服务器上没有安装php-soap centos安装方式: yum install php-soap 安装完成后重启 php-fpm 服务 service php-fpm restart ...

  10. MySQL5.0+提示字段没有默认值(doesn’t have a default value)的解决方法

    方法一: 打开my.ini,查找  sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION” 修改为  sql ...