您现在的位置:澳门网上真人龙虎 > 菲律宾申博官方网址 > 现金博彩网C# ADO.NET的五个常用对象及数据库连接操作

现金博彩网C# ADO.NET的五个常用对象及数据库连接操作

2019-08-13 01:09

C#中和数据库连接的操作时开发中必不成少的,菲律宾申博官方网址 ,而ADO.NET便是此中的闭键手艺之一。常见的ADO.NET有五个常用的对象:

SqlConnection 数据库连接对象

SqlCommand 数据库命令对象

SqlDataAdapter 数据适配器

SqlDataReader 数据库读取器,“只读、向前”,不行退避地读取数据DataSet  数据集,相当于内存中的数据库以下为这几个对象常用的步骤:

ExecuteScalar():只可读一笔记录,普通用来判别数据库是否罕见据等,只可读不行写。(MSDN诠释:执行盘诘,澳门网上真人龙虎,并返回盘诘所返回结果集合的第一行,第一列,疏忽其他行其他列)ExecuteScalar():这种CMD相当于我们正在ADO顶用SQ6蒿句中运用少许推算函数的功能雷同,正在这里我们只是返回全体影响的行数的第一行第一列数据,这样也便是相当于专业为我们的如:select count(*) from database的功能雷同,太阳城真人真钱网址,我们能够用                                            

string sql="select * from  database"

SqlCommand cmd=SqlCommand(sql,conn)

int i=(int)cmd.ExecuteScalar()

这样我们的部门调换i的值便是与上面我的功能雷同.

ExecuteReader:能够读一个外的记录,只可读不行写。我们通常正在asp顶用Recordset对象来从数据库中读出数据,而且用轮回语句来一个一个的读出数据,但正在我们的ADO.NET中,我们便是用DataReader 对象的ExecuteReader()步骤来举行数据的列出,而且我们用这个ExecuteReader()步骤来显示数据是最快的一种步骤,由于当我们正在用ExecuteReader()步骤中的DataReader 对象来举行数据的正在网站建设中显示时,他只能以一条一条向前读,不行返回,也便是像ASP中的ADO步骤中的Recordset 对象的Movenext雷同,他没有move -1这样的返回步骤。ExecuteReader 返回一个DataReader, DataReader 是一个只进逛标, 用于读取外中的数据, 读取时,必须 要和数据库维持连接。

ExecuteNonQuery:能够写以能够读。这个东东能够让我们正在更新数据库时不运用 DataSet 而运用 ExecuteNonQuery 更改数据库中的数据。通过执行UPDATE、INSERT 或 DELETE SQL语句就能够抵达更改数据库中的数据目的。即便 ExecuteNonQuery 不返回任何行,映照到参数的输出参数或返回值仍然运用数据填充。但关于 UPDATE、INSERT 和 DELETE SQL语句,返回的值便是受ExecuteNonQuery()命令影响的行数。对其它类型的语句以及回退来说,返回的值都是 -1。ExecuteNonQuery 用于执行 Delete, Update, Insert, 语句,  返回影响行数。

以下是网上借用的一个数据库操作类DBHelper.cs示例:(代码仅供进修交流之用,备忘)

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; using System.Data; namespace HotelManagerDAL { public class DBHelper { //申明连接对象 static SqlConnection conn; /// <summary> /// 连接属性 /// </summary> public static SqlConnection Conn { get { if (conn == null) { conn = new SqlConnection("server=.;database=HotelManagerDB;uid=sa;pwd=**"); conn.Open(); return conn; } if (conn.State == ConnectionState.Closed) { conn.Open(); return conn; } if (conn.State == ConnectionState.Broken) { conn.Close(); conn.Open(); return conn; } return DBHelper.conn; } } #region 增编削共同工具步骤,硬绑定 /// <summary> /// 增编削共同工具步骤 /// </summary> /// <param></param> /// <returns></returns> public static int ExecuteNonQuery(string sqlStr) { SqlCommand cmd = new SqlCommand(sqlStr, DBHelper.Conn); return cmd.ExecuteNonQuery(); } #endregion #region 增编削共同工具步骤,软绑定 /// <summary> /// 增编削共同工具步骤 /// </summary> /// <param></param> /// <returns></returns> public static int ExecuteNonQuery(string sqlStr,params SqlParameter[] para) { SqlCommand cmd = new SqlCommand(sqlStr, DBHelper.Conn); cmd.Parameters.AddRange(para); return cmd.ExecuteNonQuery(); } #endregion #region 得到整体信休,硬绑定 /// <summary> /// 得到整体信休 /// </summary> /// <param></param> /// <returns></returns> public static object ExecuteScalar(string sqlStr) { SqlCommand cmd = new SqlCommand(sqlStr, DBHelper.Conn); return cmd.ExecuteScalar(); } #endregion #region 得到整体信休,软绑定 /// <summary> /// 得到整体信休 /// </summary> /// <param></param> /// <returns></returns> public static object ExecuteScalar(string sqlStr,params SqlParameter[] para) { SqlCommand cmd = new SqlCommand(sqlStr, DBHelper.Conn); cmd.Parameters.AddRange(para); return cmd.ExecuteScalar(); } #endregion #region 得到全体信休,直连式盘诘,硬绑定 /// <summary> /// 得到全体信休 /// </summary> /// <param></param> /// <returns></returns> public static SqlDataReader ExecuteReader(string sqlStr) { SqlCommand cmd = new SqlCommand(sqlStr, DBHelper.Conn); return cmd.ExecuteReader(); } #endregion #region 得到全体信休,直连式盘诘,软绑定 /// <summary> /// 得到全体信休 /// </summary> /// <param></param> /// <returns></returns> public static SqlDataReader ExecuteReader(string sqlStr, params SqlParameter[] para) { SqlCommand cmd = new SqlCommand(sqlStr, DBHelper.Conn); cmd.Parameters.AddRange(para); return cmd.ExecuteReader(); } #endregion #region 得到全体信休,断开式盘诘,硬绑定 /// <summary> /// 得到全体信休 /// </summary> /// <param></param> /// <returns></returns> public static DataSet ExecuteReaderDataSet(string sql) { SqlDataAdapter sda = new SqlDataAdapter(sql, DBHelper.Conn); DataSet ds = new DataSet(); sda.Fill(ds); return ds; } #endregion #region 得到全体信休,断开式盘诘,软绑定 /// <summary> /// 得到全体信休 /// </summary> /// <param></param> /// <returns></returns> public static DataSet ExecuteReaderDataSet(string sqlStr, params SqlParameter[] para) { SqlDataAdapter sda = new SqlDataAdapter(); SqlCommand cmd = new SqlCommand(sqlStr,DBHelper.Conn); cmd.Parameters.AddRange(para); sda.SelectCommand = cmd; DataSet ds = new DataSet(); sda.Fill(ds); return ds; } #endregion } }

另表附上SqlParameter的用法:?aid=AL20120423001   这位博主已经写得很具体了,备忘进修: