首頁  >  文章  >  資料庫  >  操作sqlserver数据库常用的三个方法

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

WBOY
WBOY原創
2016-06-07 15:25:321198瀏覽

- 连接字符串,常用的两种方式: 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>

 

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn