使用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查询和访问数据库的更多相关文章

  1. ADO.Net两种访问数据库模式

    在连接模式下的数据库访问通常包括以下几个步骤: 1.通过数据库连接类(DbConnection)链接类指定到数据库服务器的数据库 2.通过数据库命令类(DbCommand)在数据库上执行SQL命令,可 ...

  2. 使用ADO.NET查询和操作数据库

    String和StringBuilder 语法: //声明一个空的StringBuilder对象 StingBuilder对象名称 = new   StringBuilder(); //声明一个Str ...

  3. ADO.NET查询和操作数据库

    stringbuilder 类 stringbuilder类:用来定义可变字符串 stringbulider Append(string value)   在结尾追加 stringbuilder in ...

  4. ADO.NET 连接方式和非链接方式访问数据库

    一.//连接方式访问数据库的主要步骤(利用DataReader对象实现数据库连接模式) 1.创建连接对象(连接字符串) SqlConnection con = new SqlConnection(Co ...

  5. 使用Spring.net中对Ado.net的抽象封装来访问数据库

    使用Spring.net中对Ado.net的抽象封装来访问数据库     Spring.NET是一个应用程序框架,其目的是协助开发人员创建企业级的.NET应用程序.它提供了很多方面的功能,比如依赖注入 ...

  6. ASP.NET MVC- EF返回连接池用ADO.NET方式访问数据库

    用习惯了ADO.NET的方式去访问数据库,虽然ADO.NET写的代码没有EF简洁,可是也并不麻烦.而且EF在进行多表查询的那种方式是,EF需要先去数据库里定义外键,再进去一次代码生成,然后才能用INC ...

  7. C#使用ADO.NET访问数据库(一)

    博主好久没更新博客了,最近有点忙(打麻将0.0..),今天更新一篇C#的,我还是想坚持更新博客,分享一下自己的心得,闲话少说,开始正题~~ ADO.NET概述:ADO.NET的作用在于他是客户端访问服 ...

  8. ADO.NET 访问数据库

    对数据库的访问时各种数据库应用程序开发的核心技术,.NET框架中提出的ADO.NET技术为应用程序的开发提供了一致的接口,增强了程序的可移植性和可扩展性. a:使用链接对象Connection连接数据 ...

  9. 非链接方式访问数据库--查询的数据集用Dataset来存储。

    private void Button_Click_1(object sender, RoutedEventArgs e) { //非链接方式访问数据库, //1创建连接对象(连接字符串) using ...

随机推荐

  1. Struts2实现文件上传(三)

    Struts2实现文件上传 配置文件web.xml <?xml version="1.0" encoding="UTF-8"?> <web-a ...

  2. org.hibernate.engine.jndi.JndiException:Error parsing JNDI name[foo]

    1.错误描述 WARN:HHH00027:Could not bind factory to JNDI org.hibernate.engine.jndi.JndiException:Error pa ...

  3. Linux 显示权限

    Linux 显示权限 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ls -lh 总用量 56K -rw-r--r-- 1 youhaidong youhai ...

  4. Jquery+Json+Handler文件结合应用实例

    1.页面script代码-[model数据.字符串] <script type="text/javascript" charset="utf-8" src ...

  5. Css Secret 案例全套

    Css Secret 案例全套 github地址 案例地址 该书揭示了 47 个鲜为人知的 CSS 技巧,主要内容包括背景与边框.形状. 视觉效果.字体排印.用户体验.结构与布局.过渡与动画等.去年买 ...

  6. mybatis快速入门(七)-spring-mybatis整合

    今天写写spring-mybatis整合吧,先写个原始dao类的整合,下一节在写个动态代理的整合,我就不写太详细了,因为前面的章节基本上都有了,我直接就一口气都写出来需要那些文件然后在直接贴代码,首先 ...

  7. Luogu P1410 子序列

    题目大意: 给定一个长度为\(N\)(\(N\)为偶数)的序列,] 问能否将其划分为两个长度为\(\frac{N}{2}\)的严格递增子序列, 输入一共有\(50\)组数据,每组数据保证\(N \le ...

  8. 论文笔记(8):BING: Binarized Normed Gradients for Objectness Estimation at 300fps

    译文: <基于二值化赋范梯度特征的一般对象估计> 摘要: 通过训练通用的对象估计方法来产生一组候选对象窗口,能够加速传统的滑动窗口对象检测方法.我们观察到一般对象都会有定义完好的封闭轮廓, ...

  9. 设置mysql密码 Access denied 问题

    原文:http://www.upwqy.com/details/31.html 在Mac上安装完mysql以后 在终端执行 /usr/local/mysql/bin/mysql 可以直接进入.但是在设 ...

  10. Kafka最佳实践

    一.硬件考量 1.1.内存 不建议为kafka分配超过5g的heap,因为会消耗28-30g的文件系统缓存,而是考虑为kafka的读写预留充足的buffer.Buffer大小的快速计算方法是平均磁盘写 ...