手记

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

 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)    

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

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

 SqlCommand cmd = new SqlCommand(sql, conn);

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

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

  -> 常用的三个方法   

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

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

注意问题

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

      -> 关于主键和自动增长

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

      -> 关于约束

   异常处理

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

4、 ExecuteScalar()

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

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

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

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

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

   -> 实现步骤

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

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

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

      -> 创建一个对象,SqlParameter

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

    -> 将参数加到cmd对象中        

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

 

0人推荐
随时随地看视频
慕课网APP