ADO.Net 数据库访问技术
1.在web.Config配置文件中设置连接字符串
<connectionStrings>
<add name="connString" connectionString="Data Source=localhost;Initial Catalog=Stud;Integrated Security=false;uid=sa;pwd=123456"/>
</connectionStrings>
取得连接字符串的方法
String strconn = ConfigurationManager.ConnectionStrings["connString"].ToString();
或者
<appSettings>
<add key="connString" value="Data Source=localhost;Initial Catalog=Stud;Integrated Security=false;uid=sa;pwd=123456"/>
</appSettings>
得连接字符串的方法
String strconn = ConfigurationManager.AppSettings["connString"].ToString();
Data Source或者Server、Address:数据库服务器名称;Initial Catalog或者DataBase:数据库名称Integrated Security默认等于false,等于true时使用Windows身份验证,不必输入用户名,密码。
2.Ado.Net 数据访问对象(sql.net 添加引用using System.Data.SqlClient)
2.1 sqlConnection对象
常用属性:
ConnectionString 数据库连接字段
ConnectionTimeout 连接超时时间
Database 所连接的数据库
DataSource 服务器
Provider 所使用的数据提供程序(Data Provider)
State 数据库连接的状态,有以下几种状态
ConnectionStatus.Broken 连接中断
ConnectionStatus.Closed 连接关闭
ConnectionStatus.Connecting 正在连接
ConnectionStatus.Executing 连接对象正在执行命令
ConnectionStatus.Fetching 连接对象正在检索数据
ConnectionStatus.Open 连接已打开
常用方法:
Open,Close打开关闭连接
CreateCommand 返回一个与SqlConnection关联的SqlCommand对象
ChangeDataBase 改变连接的数据库
2.2SqlCommand对象
常用属性:
CommandText:数据库执行语句
CommandTimeout 执行超时时间
Parameters 参数集合
String mySql = "SELECT * FROM tblDepartment WHERE ID=@id";
SqlParameter parameter = new SqlParameter("@id", );
SqlCommand cmd = new SqlCommand(mySql,myConn);
cmd.Parameters.Add(parameter);
或者
SqlParameter[] paras = new SqlParameter[] { new SqlParameter("@name", "Pudding"), new SqlParameter("@ID", "") };
cmd.Parameters.AddRange(paras);
Connection 对应的连接对象
CommandType 用于指示如何解释CommandText有以下几种取值:
CommandType.StoredProcedure 此时CommandText 应该取值为存储过程的名称
CommandType.TableDirect 此时CommandText为要访问的表名
CommandType.Text 默认。Sql文本命令,在此命令中不能使用?占位符
常用方法
CreateParameter 创建SqlParameter实例
ExecuteNonQuery 只返回受影响的行数
ExecuteScalar 返回查询结果第一行第一列的值,忽略其他行,一般用于只返回一个查询结果的查询语句
ExecuteReader 返回一个SqlReader对象
常用构造函数
SqlCommand(),SqlCommand(cmdText),SqlCommand(cmdText,conn)
3 SqlDataReader对象 使用DataReader对象可以从数据库中得到只读的,只能向前的数据流,且同一时间内存中只有一条数据,可以提高程序性能,减少系统开销
常用属性:
FieldCount 当前行中的列数
IsClosed 支出对象是否关闭
RecordsAffected 执行SQL语句时受影响的行数
常用方法
Read返回布尔值,将SqlDataReader推进到下一行,开始时SqlDataReader 指向数据集第一条记录之前,需用Read方法把数据推进到下一条记录并判断是否还有未读的记录
Close 关闭对象
IsDBNull 用于检查返回的列是否包含NULL值
GetBoolean(int i),GetString(int i),GetInt32(int i),GetByte(int i),GetDouble(int i),GetDateTime(int i)
SqlCommand cmd = new SqlCommand(mySql,myConn);
SqlDataReader dr = cmd.ExecuteReader();
while(dr.Read())
{
ListBox1.Items.Add("院系 专业");
ListBox1.Items.Add(String.Format("{0} {1}", dr.GetString(), dr["专业"].ToString()));//两种访问字段的方法1.使用对应的get方法+index;2.使用字段名或列序号做下标
}
ADO.Net 数据库访问技术的更多相关文章
- ADO.NET数据库访问技术(转)
这几天的自学,现在总结一下关于C#中连接数据库的一些知识点: 1.使用Connection连接数据库的步骤: (1).添加命名空间 System.Data.SqlClient(注意:初学者经常会忘记) ...
- C#-数据库访问技术 ado.net——创建 数据库连接类 与 数据库操作方法 以及简单的数据的添加、删除、修改、查看
数据库访问技术 ado.net 将数据库中的数据,提取到内存中,展示给用户看还可以将内存中的数据写入数据库中去 并不是唯一的数据库访问技术,但是它是最底层的数据库访问技术 1.创建数据库,并设置主外键 ...
- ADO.NET数据访问技术
ADO.NET数据访问技术 就是将C#和MSSQLl连接起来的纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中,也可以将数据库中的数据提取到内存中供程序调用.是所有数据访问技术的基础. A ...
- C#与数据库访问技术总结(十八)
ADO.NET 代码综合示例 前面已经介绍过OLE DB.NET和SQL Server.NET数据提供者可以用来连接不同的数据源. 以下代码不仅综合演示了使用ADO.NET的这两种数据提供者访问数据库 ...
- c# 窗体开发4 数据库访问技术
ADO.NET的名称起源于ADO(ACTIVEX DATA OBJECTS) USING SYSTEM; USING SYSTEM.COLLECTIONS.GENERIC; USING SYSTEM. ...
- 数据库访问技术 odbc dao rdo uda jet oledb
一.UDA(UniversalDataAccess) 这是微软提供的通用数据访问策略.包括ADO.OLEDB和ODBC.它不光提供了数据库的访 问能力,对于其它的数据存储技术也同样支持,如目录服务.E ...
- C#与数据库访问技术总结(七)综合示例
综合示例 说明:前面介绍了那么多,光说不练假把式,还是做个实例吧. 表:首先你要准备一张表,这个自己准备吧.我们以学生表为例. 1.ExecuteScalar方法 ExecuteScalar方法执行返 ...
- VC++ MFC SQL ADO数据库访问技术使用的基本步骤及方法
1.首先,要用#import语句来引用支持ADO的组件类型库(*.tlb),其中类型库可以作为可执行程序 (DLL.EXE等)的一部分被定位在其自身程序中的附属资源里,如:被定位在msado15.dl ...
- C#与数据库访问技术总结(十六)之 DataSet对象
DataSet对象 DataSet对象可以用来存储从数据库查询到的数据结果,由于它在获得数据或更新数据后立即与数据库断开,所以程序员能用此高效地访问和操作数据库. 并且,由于DataSet对象具有离线 ...
随机推荐
- 管理Sass项目文件结构
构建你的结构体系 CSS预处理器的特点之一是可以把你的代码分割成很多个文件,而且不会影响性能.这都要归功于Sass的@import命令,只要在你的开发环境下,你调用不管多少文件,最终将编译出一个CSS ...
- Apache Spark源码走读之5 -- DStream处理的容错性分析
欢迎转载,转载请注明出处,徽沪一郎,谢谢. 在流数据的处理过程中,为了保证处理结果的可信度(不能多算,也不能漏算),需要做到对所有的输入数据有且仅有一次处理.在Spark Streaming的处理机制 ...
- MySQL 创建用户 与 授权
例,需要给 121.52.215.100 连接添加一个用户 dee,密码是 123456,他只能对数据库 vshop 有 select 权限: CREATE USER '; GRANT SELECT ...
- 【翻译】Kinect v2程序设计(C++) BodyIndex篇
通过Kinect SDK v2预览版,取得BodyIndex(人体区域)的方法和示例代码. 上一节,介绍了从Kinect v2预览版用Kinect SDK v2预览版获取Depth数据的方法. 这 ...
- mysql varchar类型使用心得
自己的一个例子,在存储一个email的需求中.mysql定义的字段,类型:varchar 长度:20 当我插入一个email:huangyuande@sailvan.com 发现怎么样都差不进去.. ...
- 设置myeclipse 项目编码(UTF-8)
设置myeclipse开发项目默认编码为UTF-8Window-->Preferences-->General-->Workspace-->(Text file encodin ...
- java Semaphore
//Listing 6-4. Using a Counting Semaphore to Control Access to a Pool of Items import java.util.conc ...
- java笔记--关于线程同步(5种同步方式)【转】
为何要使用同步? java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完 ...
- cvWaitKey 如果 cvNamedWindow就不会起作用
Have you called cvNamedWindow yet? It will not work without cvNamedWindow. http://stackoverflow.com/ ...
- Bluetooth LMP介绍
目录 1. 介绍 2. 数据包格式(Packet Format) 3. Procedure Rules 4. 通用回应消息(General Response Messages) 5. 设备特性(Dev ...