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对象具有离线 ...
随机推荐
- 使用HIBERNATE的SQL查询并将结果集自动转换成POJO
在某些场合下,我们可能想使用HIBERNATE的框架提供的SQL查询接口,但是,由于实体没有做映射,HIBERNATE不能把结果集转换成你想要的List<POJO>,本文讨论如何在这种情况 ...
- Android通过网页打开App到指定页面并传递数据
首先在 Android Manifest 文件中注册 intent-filter <activity android:name=".MainActivity" android ...
- bash shell命令行选项与修传入参数处理
在编写shell程序时经常需要处理命令行参数,本文描述在bash下的命令行处理方式.选项与参数:如下命令行: ./test.sh -f config.conf -v --prefix=/home -f ...
- RT-Thread多线程导致的临界区问题
临界资源是指一次仅允许一个线程使用的共享资源.不论是硬件临界资源,还是软件临界资源,多个线程必须互斥地对它们进行访问.每个线程中访问临界资源的那段代码称为临界区( Critical Section), ...
- Linux+环境使用vim搭建php+IDE
让我们开始DIY吧-!!终端下执行命令:whereis vim 将列出vim安装的路径. 否则执行 sudo apt-get install vim 安装vim .成功安装了vim,只需要在用 ...
- 浏览器指纹 - HTTP cookie
http://www.iefans.net/ruhe-fangfan-xielu-shangwang-yinsi/ http://www.iefans.net/cookie-yinsi-guanxi/ ...
- 单片机与嵌入式 以及ARM DSP FPGA 几个概念的理解
嵌入式设备一般要满足实时性的要求,而实时性是要求数据输入和输出的延时满足一定的要求.当然嵌入式一般都便携性都比PC要好,功能没有PC多,PC是通用,他是专用,一般只专注某些功能的实现,比如DSP专注数 ...
- Python的深拷贝与浅拷贝
一.前奏:熟悉Python内存管理 在Python中,变量在第一次赋值时自动声明,在创建—也就是赋值的时候,解释器会根据语法和右侧的操作数来决定新对象的类型. 引用计数器:一个内部跟踪变量 引用计数: ...
- Http响应code
Http响应报文 HTTP响应也由三个部分组成,分别是:状态行.消息报头.响应正文. 其中,HTTP-Version表示服务器HTTP协议的版本:Status-Code表示服务器发回的响应状态代码:R ...
- java的Random
首先,Point类 public class Point { int x, y; public Point(int x, int y) { this.x = x; this.y = y; } bool ...