1、 ADO.NET

-> 连接字符串,常用的两种方式:

server=计算机名或ip\实例名;database=数据库名;uid=sa;pwd=密码;

server=计算机名或ip\实例名;database=数据库名;integrated security=true;

-> 常用的类库

SqlConnection 连接数据库用

SqlCommand      执行SQL语句

SqlDataReader 读取的对象(此种读取数据的方式有点像StreamReader)

SqlAdapter    将数据库中的数据放入DataSet

DataSet       内存级别的离线数据库(有点像FileStream.Read)

对比模型

(图片来自网络,若是原文作者看到,请提供链接地址,时间很久远了.......)

-> 连接数据库的步骤

-> 写连接字符串

-> 创建连接对象,使用连接字符串

-> Open,打开数据库

-> 关闭释放数据库,可以使用using

2、执行SQL语句

-> 使用SqlCommand对象

-> 步骤:

-> 首先创建SQL语句字符串(sql)与连接通道SqlConnection(conn)

 string sql = "insert into tbl(id, name) values(1, '123');"
SqlConnection conn = new SqlConnection(@"server=计算机名或ip\实例名;database=数据库名;uid=sa;pwd=密码;");

-> 创建SqlCommand对象,将sql与conn交给它(通过构造函数或属性)

 SqlCommand cmd = new SqlCommand(sql, conn);

-> 在Open的情况下,调用方法(SqlCommand对象的方法)

 conn.Open();
cmd.方法();

-> 常用的三个方法

 ExecuteNonQuery()   专门执行非查询语句(增、删、改等),返回受影响行数
ExecuteScalar() 执行查询,返回的是结果中第一行第一列的数据(object)
ExecuteReader() 专门执行查询,可以获得多行多列的数据

3、 先创建一个表,插入数据

注意问题

-> sql语句如果在SSMS中执行没有问题在ADO.Net一般不会出现问题

-> 关于主键和自动增长

-> 连接字符串数据库的名字

-> 关于约束

异常处理

 try
{
// 可能出现异常的代码
} catch(Exception ex) {
// 出现异常之后的代码
} finally
{
// 用来关闭连接
}

4、 ExecuteScalar()

-> 读取数据,获取第一行与第一列

-> 执行中除了SQL语句和执行方法不同流程都一样

5、-> 将SQL语句中的参数拼接修改一下

-> 凡是要用到参数的地方,都将这个变数,写成一个变量

-> 使用的时候为这个变量赋值即可

-> 实现步骤

-> 写SQL语句的时候,用"@别名"代替挖坑的地方

  select COUNT(*) from tblLogin where logUid='{0}' and logPwd='{1}';容易sql注入漏洞攻击
select COUNT(*) from tblLogin where logUid=@logUid and logPwd=@logPwd;

-> 在ADO.Net中执行SQL语句前(cmd.方法()调用前)

-> 创建一个对象,SqlParameter

 SqlParameter p = new SqlParameter(参数的别名, 参数的值);
SqlParameter p1 = new SqlParameter("@logUid", txtUid.Text.Trim());
SqlParameter p2 = new SqlParameter("@logPwd", txtPwd.Text);

-> 将参数加到cmd对象中

cmd.Parameters.Add(参数对象);
cmd.Parameters.Add(p1);

操作sqlserver数据库常用的三个方法的更多相关文章

  1. Oracle数据库备份与恢复的三种方法

    转自blueskys567原文Oracle数据库备份与恢复的三种方法, 2006-10. 有删改 Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP).热备份和冷备份. 导出 ...

  2. 【EF】EntityFramework 更新数据库字段的三种方法

    实体类 public class TestDbContext : DbContext { public DbSet<Test> Tests { get; set; } public Tes ...

  3. java数据库 JDBC操作MySQL数据库常用API 部门表和员工表 创建表 添加数据 查询数据

    package com.swift.department; import java.sql.Connection; import java.sql.PreparedStatement; import ...

  4. Java连接并操作SQLServer数据库

    本人只需在项目中引入sqljdbc4.jar 包即可 ----------------------------------------- 在JAVA中如何连接SQL Server数据库 - hangh ...

  5. sqlServer数据库常用连接字符串

    sqlServer   数据库常用连接字符串 用户名和密码验证的方式去连接到数据库服务器 <add name="conStr" connectionString=" ...

  6. Entity Framework 数据库初始化的三种方法

    在数据库初始化产生时进行控制,有三个方法可以控制数据库初始化时的行为.分别为CreateDatabaseIfNotExists.DropCreateDatabaseIfModelChanges.Dro ...

  7. MySQL数据库改名的三种方法

    前不久去面试,被问到Innodb引擎的表如何改数据库名,当时我也只回答了MyISAM改如何操作,被一些细节问题打败,真是操蛋. 如果表示MyISAM那么可以直接去到数据库目录mv就可以. Innodb ...

  8. EntityFramework 更新数据库字段的三种方法

    例: 实体类: public class TestDbContext : DbContext { public DbSet<Test> Tests { get; set; } public ...

  9. C#通过SqlConnection连接查询更新等操作Sqlserver数据库

    Sqlserver数据库连接方式有多种,这里只介绍最常用的通过SqlConnection和Sqlserver数据库用户名和密码验证来进行操作数据库. 数据库连接字符串: string connStri ...

随机推荐

  1. HTTP协议简介1

    概念 HTTP协议:超文本传输协议,用于服务端传输超文本到客户端的传输协议.是一个应用层协议. 工作流程 一次http请求就是一个事务.过程可分为四步: 1.客户端与服务器建立链接.页面上单击某个链接 ...

  2. Linux常用指令---netstat(网络端口)

    netstat命令用于显示与IP.TCP.UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况.netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP ...

  3. count(*) vs count(1)--social.msdn.microsoft.com

    Clever response Dave, but insufficient. I'll admit I've suggested this myself for certain questions ...

  4. Mongodb使用基本之——安装

    版本是:Mongodb 3.2.1 本来是想用python做个爬虫然后爬取一些数据放到数据库上的,想着想着以为NoSQL会很流行,就用了Mongodb,结果,一折腾真是不容易. 遇到的第一个问题:官网 ...

  5. JSTL(JSP Standard Tag Library)读书笔记

    分类                                       Preifx                                          范例 核心标签库--- ...

  6. php 读取文件的几种方法

    文件操作的三个步骤,打开,操作,关闭.$fopen=fopen(路径,方式),fwrite($fopen,写入的字符串);fclose($fopen). 其中打开方式有如下几种方式: 模式 描述 r ...

  7. js中模仿接口继承

    一般情况下我们会这样写,但是这样写的话,不够美化或者直观. 如果我们可以这样写的话,感觉更好: 但是样子的话,我们没有考虑原型覆盖之类的,因为我们通常的情况,我们继承只有一层,在通常情况下,我们原型覆 ...

  8. 13.C#分部类型和静态类(七章7.1-7.2)

    再大的东西不去找,也就没了,再小的知识不去记,也就忘了.今天来写一写C#中的分部类型和静态工具类,这些两个概念可能在我们的日常使用过程中都使用过,可能大家对这些内容觉得这些不是应该有的东西嘛,那就来复 ...

  9. AngularJS——karma的安装

    1,前言: 刚刚学过了 grunt的安装以及使用,grunt的作用就是让我们平常不想做的任务能够自动化完成,并且可以自己 自定义任务,那么karma是什么呢? Karma是Testcular的新名字, ...

  10. PowerDesigner-导出表到word

    1. 在工具栏中选择[Report -->Reports],如下图 2. 点击第二个图标创建一个Report,如下图 该wizard中有三个信息 Report name Report : Rep ...