Rumah > Artikel > pangkalan data > 操作sqlserver数据库常用的三个方法
- 连接字符串,常用的两种方式: 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)
对比模型
(图片来自网络,若是原文作者看到,请提供链接地址,时间很久远了.......)
-> 连接数据库的步骤
-> 写连接字符串
-> 创建连接对象,使用连接字符串
-> 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>