Home  >  Article  >  Database  >  操作sqlserver数据库常用的三个方法

操作sqlserver数据库常用的三个方法

WBOY
WBOYOriginal
2016-06-07 15:25:321200browse

- 连接字符串,常用的两种方式: server=计算机名或ip\实例名;database=数据库名;uid=sa;pwd=密码; server=计算机名或ip\实例名;database=数据库名;integrated security=true; - 常用的类库 SqlConnection 连接数据库用 SqlCommand 执行SQL语句 SqlDataReade

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

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

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

   -> 常用的类库

      SqlConnection 连接数据库用

      SqlCommand      执行SQL语句

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

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

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

对比模型

操作sqlserver数据库常用的三个方法操作sqlserver数据库常用的三个方法

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

   -> 连接数据库的步骤

      -> 写连接字符串

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

      -> Open,打开数据库

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

2、执行SQL语句

   -> 使用SqlCommand对象

   -> 步骤:

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

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

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

 SqlCommand cmd = <span>new</span> SqlCommand(sql, conn);

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

<span>1</span> <span>conn.Open();
</span><span>2</span>  cmd.方法();

  -> 常用的三个方法   

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

3 先创建一个表插入数据

注意问题

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

      -> 关于主键和自动增长

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

      -> 关于约束

   异常处理

<span> 1</span> <span>try</span>
<span> 2</span> <span> {
</span><span> 3</span>         <span>//</span><span> 可能出现异常的代码</span>
<span> 4</span> <span> }
</span><span> 5</span> 
<span> 6</span>  <span>catch</span><span>(Exception ex)
</span><span> 7</span> 
<span> 8</span> <span> {
</span><span> 9</span>         <span>//</span><span> 出现异常之后的代码</span>
<span>10</span> <span> }
</span><span>11</span> 
<span>12</span>  <span>finally</span>
<span>13</span> <span>  {
</span><span>14</span>         <span>//</span><span> 用来关闭连接</span>
<span>15</span>  }

4、 ExecuteScalar()

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

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

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

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

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

   -> 实现步骤

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

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

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

      -> 创建一个对象,SqlParameter

<span>1</span> SqlParameter p <span>=</span><span> new SqlParameter(参数的别名, 参数的值);
</span><span>2</span> SqlParameter p1 <span>=</span> new SqlParameter("<span>@logUid</span>", txtUid.<span>Text</span><span>.Trim());
</span><span>3</span> SqlParameter p2 <span>=</span> new SqlParameter("<span>@logPwd</span>", txtPwd.<span>Text</span>);

    -> 将参数加到cmd对象中        

<span>cmd.Parameters.Add(参数对象);
cmd.Parameters.Add(p1);</span>

 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn