使用ADO.NET查询和访问数据库
使用ADO.NET查询和访问数据库
连接数据库操作:
1. 定义连接字符串:
String connString = “Data Source = 服务器名; Initial Catalog = 数据库名;User ID = 用户名;Pwd = 密码”(没有 密码可以省略)
String connString = @"Data Source = .; Initial Catalog = 数据库名 ; Integrated Security = True ";
2. 创建Connection对象:
SqlConnection conn = new SqlConnection(connString);
3. 打开与数据库的连接:
conn.Open();
Command对象(允许向数据库传递请求,检索和操作数据库中的数据)使用步骤:
1. 创建数据库连接
SqlConnection conn = new SqlConnection(connString);
2. 定义SQL语句
String sql = “”;
3. 创建Command语句
SqlCommand cmd = new SqlCommand(sql,conn);
4. 执行命令(执行命令之前,必须打开数据库)
int num = (int)cmd.ExecuteScalar();
使用ADO.NET查询和操作数据库
DataReader逐行读取数据:
DataReader主要成员:
|
属性 |
说明 |
|
HasRows |
是否返回了结果 |
|
方法 |
说明 |
|
Read |
前进到下一行记录 |
|
Close |
关闭 DataReader 对象 |
DataReader使用步骤:
1. 创建Command对象:
2. 调用Command对象的ExecuteReader()方法创建DataReader对象(假设已经有一个Command对象名为comm,就可以这样创建一个DataReader对象:SqlDataReader sda = conn.ExecuteReader();)
3. 使用DataReader的Reader()方法逐行读取数据(这个方法返回一个布尔值,如果能读到一行记录,就返回True,否则返回False):sda.Reader();
4. 读取当前行的某列的数据,可以像使用数组一样,用方括号来读取某列的值,如:(type )sda[],方括号中可以像数组一样使用列的索引,从0开始,也可以使用列名。读取的列值要进行类型转换,如:(string)sda[“StudentName”];
5. 关闭DataReader对象,调用它的Close()方法,如:sda.Close();
例:从数据库中读取国籍放入国籍下拉列表框中(查询数据库中的数据):
//定义sql语句
string sql = "select nationality from nationlityInfo";
//创建Command对象
SqlCommand command = new SqlCommand(sql, DBHelper.connection);
try
{
//打开数据库连接
DBHelper.connection.Open();
SqlDataReader reader = command.ExecuteReader();
//循环读出国籍放入国籍组合框
while (reader.Read())
{
cboNat.Items.Add(reader["nationality"].ToString());
}
reader.Close();
}
catch (Exception ex)
{ //打印异常
Console.WriteLine(ex.Message);
}
finally
{//关闭数据库
DBHelper.connection.Close();
}
对数据库中的数据增删改(使用Command对象的ExecuteNonQuery()方法)
ExecuteNonQuery()方法用于执行指定的SQL语句,如:update、insert、delete,它返回的是受SQL语句影响的行数
使用Command对象的ExecuteNonQuery()方法的步骤如下:
1. 创建Connection对象
2. 定义要执行的SQL语句
3. 创建Command对象
4. 执行ExecuteNonQuery()方法
5. 根据返回结果,进行后续处理
使用ADO.NET查询和访问数据库的更多相关文章
- ADO.Net两种访问数据库模式
在连接模式下的数据库访问通常包括以下几个步骤: 1.通过数据库连接类(DbConnection)链接类指定到数据库服务器的数据库 2.通过数据库命令类(DbCommand)在数据库上执行SQL命令,可 ...
- 使用ADO.NET查询和操作数据库
String和StringBuilder 语法: //声明一个空的StringBuilder对象 StingBuilder对象名称 = new StringBuilder(); //声明一个Str ...
- ADO.NET查询和操作数据库
stringbuilder 类 stringbuilder类:用来定义可变字符串 stringbulider Append(string value) 在结尾追加 stringbuilder in ...
- ADO.NET 连接方式和非链接方式访问数据库
一.//连接方式访问数据库的主要步骤(利用DataReader对象实现数据库连接模式) 1.创建连接对象(连接字符串) SqlConnection con = new SqlConnection(Co ...
- 使用Spring.net中对Ado.net的抽象封装来访问数据库
使用Spring.net中对Ado.net的抽象封装来访问数据库 Spring.NET是一个应用程序框架,其目的是协助开发人员创建企业级的.NET应用程序.它提供了很多方面的功能,比如依赖注入 ...
- ASP.NET MVC- EF返回连接池用ADO.NET方式访问数据库
用习惯了ADO.NET的方式去访问数据库,虽然ADO.NET写的代码没有EF简洁,可是也并不麻烦.而且EF在进行多表查询的那种方式是,EF需要先去数据库里定义外键,再进去一次代码生成,然后才能用INC ...
- C#使用ADO.NET访问数据库(一)
博主好久没更新博客了,最近有点忙(打麻将0.0..),今天更新一篇C#的,我还是想坚持更新博客,分享一下自己的心得,闲话少说,开始正题~~ ADO.NET概述:ADO.NET的作用在于他是客户端访问服 ...
- ADO.NET 访问数据库
对数据库的访问时各种数据库应用程序开发的核心技术,.NET框架中提出的ADO.NET技术为应用程序的开发提供了一致的接口,增强了程序的可移植性和可扩展性. a:使用链接对象Connection连接数据 ...
- 非链接方式访问数据库--查询的数据集用Dataset来存储。
private void Button_Click_1(object sender, RoutedEventArgs e) { //非链接方式访问数据库, //1创建连接对象(连接字符串) using ...
随机推荐
- JSP标签c:forEach报错(一)
1.jsp标签c:forEach报错,具体错误如下: 三月 31, 2014 9:31:14 下午 org.apache.catalina.core.StandardWrapperValve invo ...
- Struts2实现文件上传报错(二)
1.具体报错如下 usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ] { -he ...
- eclipse和android studio的目录结构分析
不管你喜不喜欢,愿不愿意,自从Google宣布正式停止对于eclipse的支持,要开发android的APP,你都得乖乖的用android studio(以下简称AS)了,不过也不是什么悲伤的故事,对 ...
- class-决策树Decision Tree
顾名思义,决策树model是树形结构,在分类中,表示基于特征对实例进行分类的过程.可以认为是"if-else"的合集,也可以认为是特征空间,类空间上条件概率分布.主要优点是分类速度 ...
- CodeForces 940E
题意略. 这个题目我开始题意理解得有点问题.本题的实质是在这个数列中选择一些数字,使得选出的这些数字之和最大,用dp来解. 我们先要明确:当我选择数列长度为2 * c时,不如把这个长度为2 * c的劈 ...
- 小例子理解SQL的左连接与右连接
假设有A,B两个表. 表A记录如下: aID aNum a20050111 a20050112 a20050113 a20050114 a20050115 表B记录如下: bID bName ---- ...
- 洛谷P4003 无限之环(infinityloop)(网络流,费用流)
洛谷题目传送门 题目 题目描述 曾经有一款流行的游戏,叫做 Infinity Loop,先来简单的介绍一下这个游戏: 游戏在一个 n ∗ m 的网格状棋盘上进行,其中有些小方格中会有水管,水管可能在格 ...
- 【BZOJ1040】骑士(动态规划)
[BZOJ1040]骑士(动态规划) 题面 BZOJ 题解 对于每一组厌恶的关系 显然是连边操作 如果是一棵树的话 很显然的树型\(dp\) 但是,现在相当于有很多个基环 也就是在一棵树的基础上再加了 ...
- LightOJ1370 Bi-shoe and Phi-shoe
题意 给出一些数字,对于每个数字找到一个欧拉函数值大于等于这个数的数,求找到的所有数的最小和. Solution 线性筛出phi,把询问数组排序搞就行了 # include <bits/stdc ...
- Django的models实现分析
1 引子 1.1 神奇的Django中的models 我们先来看一段在Django项目中常用的代码: 设置数据库models代码: class Students(models.Mod ...