ADO学习c#数据库调用科普
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
连接到数据库的步骤 建立新的Connection 连接Access数据库的连接字符 下面以查询 student表数据为例介绍如何打开和关闭数据库。代码如下。 对象 protected EventArgs e) OleDbConnection类的 连接 SQL Server 数据库的机制与连 conn.ConnectionString = { Connectionstrings属性所要求的字符串 接Access的机制没有什么太大的区 SqlConnection conn=new "Provider=Microsoft.Jet.Oledb.4. 的内容也是由若干个以分号隔开的 //数据库名为 stu,用户名为sa,用户密码为空 别,只是改变了Connection对象和连 SqlConnection(); “ <参数名>=<参数值> 接字符串中的不同参数。 0;" + "Data Source=" + ”表示的 SqlConnection conn = new SqlConnection(); 子串组成。 首先,连接SQL Server使用的命名空 设置Connection对象的连接 Server.MapPath("App_Data/xxx. String strCon = "server=.;database=stu;uid=sa;pwd="; 间不是“System.Data.OleDb”,而 字符串属性 是“System.Data.SqlClient”。 mdb"); conn.Connectionstring=strCon; conn.ConnectionString = 打开或关闭数据库连接 conn.Open();// 打开数据库连接 “server=xx;database=数据库 连接SQL Server 数据库文件 名;uid=sa;pwd= 密码 "; SqlCommand cmd = new SqlCommand("select * from student", conn);// 查询学生信息表 (.mdf) server=.\SQLEXPRESS,表示使用的 连接字符串的存放位置 conn.Close();//关闭数据库连接 是本地数据库且定义了实例名;如 Conn.ConectionString 果是远程服务器,则将“.”替换为 } ="Data Source=.\SQLEXPRESS; 远程服务器的名称或IP地址。 (1) 把连接字符串写在程序中 上述是典型的数据库连接代码,常在 Web.Config 文件中存放数据库的连接信息。 注意:在连接SQL Server 2005时, AttachDbFilename=|DataDirectory|\*.mdf;
针对SQLServer
DataAdapter
DataReader
OLEDBDataReader SQLDataReader 专门用来存取SQL Server 数据库,只针 对7.0以上版本进行高度优化的连接 OLEDBDataAdapter SQLDataAdapter
DataSet
DataSet
SQLDataSet
串
程序员可以方便 上的、哪个实例的哪个数据库,所 地更改服务器名 用用户名及密码等信息。 称、数据库或身 份验证信息,而 无须逐个修改程序。
连接字符串指明要连接哪台服务器
Integrated Security=True; User Instance=True"
Using 说明 在创建数据库连接时,建议使用Using语句块; 其作用为:定义一个范围,在范围结束时处理对象 连接字符串放在配置文件中 (当离开包含的代码段时自动调用该类实例的 Dispose()方法,自动关闭数据库连接且释放连 将数据库连接字符串存放在应用程序的配置 接所使用的资源); 文件(即Web.Config)中,代码如下。 如果需要使用一个对象,这个对象需要占用很多 在程序中获得连接字符串的方法如下: <connectionStrings> conn.ConnectionString =System.Configuration.ConfigurationManager. 紧缺的资源,使用完成后需要马上释放掉的话,建 ConnectionStrings["constr2"].ToString(); <add name=“连接字符串名” 议使用using 语句; connectionString=“数据库的连接字符串” 优势:可以避免资源释放不及时导致的冲突或性 providerName=“System.Data.SqlClient”或 能问题。 “System.Data.oledb /> using (SqlConnection conn=new </connectionStrings> SqlConnection() ) { 在Web.config 里连接Access数据库时 conn.ConnectionString=“”; 连接字符串 „„ 的写法 <add name ="ConnString2" connectionString conn.Open(); ="Provider=Microsoft.Jet.OLEDB.4.0;Data „„ Source=|DataDirectory|XXX.mdb;" providerName } ="System.Data.Oledb"/>
Command对象
Command对象最主要的工作是通过
Oh! On!
Connection对象对数据源下达操作数据库的 命令。 使用户能够访问用于返回数据、修改 数据运行存储过程以及发送或检索参数信息 的数据库命令。
ExecuteScalar方法 执行查询,并返回结果集中第一行的第一列的值。 创建一个SqlCommand,然后应用 Command ExecuteReader() 对象方法 方法 使用ExecuteReader 方法将性别为“女”性的记录显示在 如果只想检索数据库信息中的一个值,而不需要返回表或数据流形式 ExecuteReader 方法通常与查询命令一起使用,并 来创建DataReader 对象来对数据源进行读取 ExcuteNonQuery :执行不返回任何 GridView 控件中。 的数据库信息。例如,只需要返回 COUNT(*)、SUM( ) ExecuteNonQuery 或 AVG( ) 等函 方法执行更新操作,诸如 创建Command对象 SqlCommand com = new SqlCommand(queryString, 且返回一个数据阅读器对象 DataReader,该对象 行的命令。典型的例子是实现插入、 数的结果,那么Command对象的ExecuteScalar方法就很有用。如果在 connection); 那些与 UPDATE 、 INSERT 和 DELETE语句有关 1. 使用构造函数创建Command 对象 一个常规查询语句当中调用该方法,则只读取第一行第一列的值,而 更新和删除。 连接到数据库的结果集上,并允许行检索。 //通过ExecuteReader 方法创建 DataReader 对象 的操作,该方法返回一个整型( Integer)数 丢弃所有其他值。
需要在许多页面中写入连接 字符串,这时候如果需要改动 连接字符串(比如换用户名和 密码)的话,就得逐个修改。 (2) 把连接字符串放在 web.config文件中
server参数写为: server= .\\SQLEXPRESS;
OleDbConnection conn=new void Page_Load(object sender, OleDbConnection();
ADO.NET两套类库及 其对象以及命名空间
System.Data.SqlClient
针对 OLEDB
OLEDB数据库 SQL Server 数据库 可以存取所有基于OLEDB提供的数据库 如SQL server、Access、Oracle 等 OLEDBConnection SQLConnection OLEDBCommand SQLCommand
获取或设置用于打 开数据库的字符串, 包括字符串的内容 和数据提供器名称。
Connection 对象介绍
主要属性 ConnectionString State 主要方法 Open() 用于打开有ConnectionString 属性指定的数据源连接 Close() 关闭数据源连接
获取连接的 当前状态
ADO.NET介绍与实例讲 解
1
ADO.NET 之基本概念
ADO.NET是.NET Framework用于访问数据的组件。
ASP .NET通过ADO.NET操作数据库。
ADO.NET的一个优点是可以离线操作数据库, 应用程序只需要取得数据或更新数据的时候才 对数据源进行联机,所以可以减少应用程序对 服务器资源的占用,提高应用程序的效率。
SqlDataReader dr 数据阅读器是一种只读的、向前移动的游标,客 = com.ExecuteReader(); 下面是使用构造函数创建 ExecuteReader:通过Connection对 据,返回值是命令影响的行数。 if (dr.Read()) SqlCommand对象,并通过该对象的构造 象下达命令至数据源,将数据作为 ExecuteScalar方法举例 户端代码滚动游标并从中读取数据。如果通过 { 例如,创建一个 SqlCommand 函数参数来设置特定属性值,其语法格 使用DataReader 对象中的 ,然后使用 OleDbConnection conn = new OleDbConnection(); 一个 DataReader 对象返回。用于 // 式如下: ExecuteReader 方法执行一个更新语句,则该命令 ExecuteNonQuery 方法执行SQL语句,如: Read方法用来遍历整个结果集, conn.ConnectionString = } 任何返回数据的 SQL 查询; SqlCommand 命令对象名 = new UPDATE 、 成功地执行,但是不会返回任何受影响的数据行。 "Provider=Microsoft.Jet.Oledb.4.0;" + INSERT或DELETE。 else { + "Data Source=" 不需要显式地向前移动指针, SqlCommand(查询字符串, 连接对象名); ExecuteScalar:从数据库中返回单 // Server.MapPath("App_Data/Colledge.mdb"); 或者检查文件的结束,如果没 独值,例如与特定查询相匹配的记 } conn.Open(); 有要读取的记录了,则 Read方 下列语法产生 Command对象: 录数,或者数据库功能调用的结果。 string sql = "select count(*) from teacher where 年龄>35"; SqlCommand com = new 法会自动返回 //string sql = "select * from teacher where 年龄 >35"; // False。 SqlCommand(string ,conn); 常规查询,返回结果集中第1行第1列的值 OleDbCommand com=new OleDbCommand com = new OleDbCommand(sql, conn); OleDbCommand(string,conn );
SQL命令
增删改查
SELECT 查询数据,即从数据库中返回记录集 INSERT 向数据表中插入一条记录 UPDATE修改数据表中的记录 DELETE删除表中的记录
ADO.NET的对象
Connection 对象 用于连接到数据库 Command对象 用来对数据库执行SQL命令
2
DataReader对象 用来从数据库返回只读数据 DataAdapter对象 用来从数据库返回数据,并 送到Dataset对象中,还要保证Dataset对象中 的数据和数据库中的数据一致 DataSet 对象 数据集,内存中的数据库, 利用DataAdapter对象将数据库中的数据送到 对象中,然后进行操作,最后利用 DataAdapter对象将其提交到数据库中
ADO.NET对象模型
ODBC
ODBC.NET Framework数据提供程序
SQLServer.NET Framework数据提供程序
SQL
OLE DB.NET Framework 数据提 供程序
OLE
Oracle
Oracle.NET Framework数据提供程序
SQL查询 基础
用法: SELECTwk.baidu.com* FROM XX WHERE 条件(LIKE %XX%(模糊条件)); (GROUP BY ORDER BY ) INSERT INTO XX(表名or字段名) VALUES XX(字段值) UPDATE XX SET XX=(VALUE) WHERE XX DELETE FROM 表名 WHERE XX
ADO.NET两种读取数据库的方式
保持连接 模式 断开连接 模式
Connection Command DataReader 对象 只读
Connecti on Command DataAdap ter Dataset
对象 灵活
对应命名空间 对象 Connection Command
System.Data.OleDb