收藏 分享(赏)

C+ADO NET 常用及数据库 操作.pdf

上传人:精品资料 文档编号:11095167 上传时间:2020-02-06 格式:PDF 页数:6 大小:110.20KB
下载 相关 举报
C+ADO NET 常用及数据库 操作.pdf_第1页
第1页 / 共6页
C+ADO NET 常用及数据库 操作.pdf_第2页
第2页 / 共6页
C+ADO NET 常用及数据库 操作.pdf_第3页
第3页 / 共6页
C+ADO NET 常用及数据库 操作.pdf_第4页
第4页 / 共6页
C+ADO NET 常用及数据库 操作.pdf_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、http:/C+ADO.NET的五个常用对象及数据库连接操作C#中和数据库连接的操作时开发中必不可少的,而ADO.NET就是其中的关键技术之一。常见的ADO.NET有五个常用的对象:SqlConnection 数据库连接对象SqlCommand 数据库命令对象SqlDataAdapter 数据适配器SqlDataReader 数据库读取器,“只读、向前”,不能后退地读取数据DataSet 数据集,相当于内存中的数据库以下为这几个对象常用的方法:ExecuteScalar():只能读一条记录,一般用来判断数据库是否有数据等,只能读不能写。(MSDN解释:执行查询,并返回查询所返回结果集中的第一行

2、,第一列,忽略其他行其他列)ExecuteScalar():这种CMD相当于我们在ADO中用SQ语句中使用一些计算函数的功能一样,在这里我们只是返回所有影响的行数的第一行第一列数据,这样也就是相当于专业为我们的如: select count(*) from database 的功能一样,我们可以用string sql=“select * from database“SqlCommand cmd=SqlCommand(sql,conn)int i=(int)cmd.ExecuteScalar()这样我们的局部变更i的值就是与上面我的功能一样.ExecuteReader:可以读一个表的记录,只能读

3、不能写。我们通常在asp中用Recordset对象来从数据库中读出数据,并且用循环语句来一个一个的读出数据,但在我们的ADO.NET中,我们就是用DataReader 对象的ExecuteReader()方法来进行数据的列出,并且我们用这个 ExecuteReader()方法来显示数据是最快的一种方法,因为当我们在用ExecuteReader()方法中的DataReader 对象来进行数据的在网站建设中显示时,他只可以一条一条向前读,不能返回,也就是像ASP中的ADO方法中的Recordset 对象的Movenext一样,他没有move -1这样的返回方法。ExecuteReader 返回一个

4、DataReader, DataReader是一个只进游标, 用于读取表中的数据, 读取时,必须 要和数据库保持连接。ExecuteNonQuery:可以写以可以读。这个东东可以让我们在更新数据库时不使用DataSet 而使用 ExecuteNonQuery 更改数据库中的数据。通过执行UPDATE、INSERT 或DELETE SQL语句就可以达到更改数据库中的数据目的。即使 ExecuteNonQuery 不返回任何行,映射到参数的输出参数或返回值仍然使用数据填充。但对于 UPDATE、INSERT 和DELETE SQL语句,返回的值就是受ExecuteNonQuery()命令影响的行数

5、。对其它类型的语句以及回退来说,返回的值都是 -1。ExecuteNonQuery 用于执行 Delete, Update, Insert,语句, 返回影响行数。以下是网上借用的一个数据库操作类DBHelper.cs示例:(代码仅供学习交流之用,备http:/忘)using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data.SqlClient;using System.Data;namespace HotelManagerDAL public class D

6、BHelper/声明连接对象static SqlConnection conn;/ / 连接属性/ public static SqlConnection Conn get if (conn = null)conn = newSqlConnection(“server=.;database=HotelManagerDB;uid=sa;pwd=*“);conn.Open();return conn;if (conn.State = ConnectionState.Closed) conn.Open();return conn;if (conn.State = ConnectionState.Br

7、oken) conn.Close();conn.Open();return conn;return DBHelper.conn;http:/#region 增删改共同工具方法,硬绑定/ / 增删改共同工具方法/ / / public static int ExecuteNonQuery(string sqlStr) SqlCommand cmd = new SqlCommand(sqlStr, DBHelper.Conn);return cmd.ExecuteNonQuery();#endregion#region 增删改共同工具方法,软绑定/ / 增删改共同工具方法/ / / public

8、static int ExecuteNonQuery(string sqlStr,paramsSqlParameter para) SqlCommand cmd = new SqlCommand(sqlStr, DBHelper.Conn);cmd.Parameters.AddRange(para);return cmd.ExecuteNonQuery();#endregion#region 得到整体信息,硬绑定/ / 得到整体信息/ / / public static object ExecuteScalar(string sqlStr) SqlCommand cmd = new SqlCo

9、mmand(sqlStr, DBHelper.Conn);return cmd.ExecuteScalar();http:/#endregion#region 得到整体信息,软绑定/ / 得到整体信息/ / / public static object ExecuteScalar(string sqlStr,paramsSqlParameter para) SqlCommand cmd = new SqlCommand(sqlStr, DBHelper.Conn);cmd.Parameters.AddRange(para);return cmd.ExecuteScalar();#endregi

10、on#region 得到所有信息,直连式查询,硬绑定/ / 得到所有信息/ / / public static SqlDataReader ExecuteReader(string sqlStr) SqlCommand cmd = new SqlCommand(sqlStr, DBHelper.Conn);return cmd.ExecuteReader();#endregion#region 得到所有信息,直连式查询,软绑定/ / 得到所有信息/ / / public static SqlDataReader ExecuteReader(string sqlStr, paramsSqlPar

11、ameter para) SqlCommand cmd = new SqlCommand(sqlStr, DBHelper.Conn);cmd.Parameters.AddRange(para);return cmd.ExecuteReader();#endregionhttp:/#region 得到所有信息,断开式查询,硬绑定/ / 得到所有信息/ / / public static DataSet ExecuteReaderDataSet(string sql) SqlDataAdapter sda = new SqlDataAdapter(sql, DBHelper.Conn);Data

12、Set ds = new DataSet();sda.Fill(ds);return ds;#endregion#region 得到所有信息,断开式查询,软绑定/ / 得到所有信息/ / / public static DataSet ExecuteReaderDataSet(string sqlStr, paramsSqlParameter para) SqlDataAdapter sda = new SqlDataAdapter();SqlCommand cmd = new SqlCommand(sqlStr,DBHelper.Conn);cmd.Parameters.AddRange(p

13、ara);sda.SelectCommand = cmd;DataSet ds = new DataSet();sda.Fill(ds);return ds;#endregion 另 外 附 上 SqlParameter 的 用 法 :http:/ 这位博主已经写得很详细了,备忘学习:一般来说,在更新DataTable或是DataSet时,如果不采用SqlParameter,那么当输入的Sql语句出现歧义时,如字符串中含有单引号,程序就会发生错误,并且他人可以轻易地通过拼接Sql语句来进行注入攻击。最方便的使用SqlParameter的方法如下:http:/以上文字来源为自己学习所得,集中进行整理学习之用,希望对你我学习都有帮助。SqlParameter paras = new SqlParameter newSqlParameter(“name“,“Pudding“), new SqlParameter(“ID“, “1“) ;cmd.Parameters.AddRange(paras);1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报