C#中sqlDataRead 的三种方式遍历读取各个字段数值的方法

数据库的查询分析器中写上如下代码:

create table studentname
(
 id int  primary key identity(1,1) not null ,
name nvarchar(500) not null
)
insert into studentname values('long')
insert into studentname values('long')
insert into studentname values('long')
insert into studentname values('long')
insert into studentname values('long')
insert into studentname values('chao')
insert into studentname values('chao')

--sql server 2012 通过。

---------------------------------------------------------------------------------------------------

以下是第一种方法:

using System.Data;
 using System.Data.SqlClient;
string constr = "server=localhost;uid=sa;pwd=longshicheng;database=Student";
      SqlConnection conn = new SqlConnection(constr);
      SqlCommand cmd = new SqlCommand("select * from studentname", conn);
      conn.Open();
      SqlDataReader rdr = cmd.ExecuteReader();
      string makestr = "";
      DataTable table = new DataTable();
      table.Load(rdr); //数据表装入 dataReader 。
      string result="";
      for (int i = 0; i < table.Rows.Count; i++) // 遍历行
      {
        for (int j = 0; j < table.Columns.Count; j++) //遍历列
        {
          result += table.Rows[i][j].ToString(); //逐行逐列显示每个单元格的数值。
        }
        result += Environment.NewLine; //一行遍历完成就写入回车。
      }
      txtlab.Text = result;
      /***************************************************************/

以下是第二种方法:

string constr = "server=localhost;uid=sa;pwd=longshicheng;database=Student";
      SqlConnection conn = new SqlConnection(constr);
      SqlCommand cmd = new SqlCommand("select * from studentname", conn);
      conn.Open();
      SqlDataReader rdr = cmd.ExecuteReader();
      string makestr = "";
      for (int k = 0; k < rdr.FieldCount; k++) //获取字段名称
      {
        makestr += rdr.GetName(k) + "\t"; //载入字段名称
      }
      makestr += Environment.NewLine; //换行
      makestr = makestr + "---------------------------------------------"+Environment.NewLine;
      while (rdr.Read()) //逐行读取每一笔记录
      {
        for (int t = 0; t < rdr.FieldCount; t++) //逐列读出
        {
          makestr = makestr + rdr[t].ToString() + "\t"; //累加每一行,也就是逐个字段读出对应的数值
        }
        makestr = makestr + Environment.NewLine; //又一行
      }
      txtinfo.Text = makestr;
      rdr.Close(); //关闭
      conn.Close();
    }

以下是第三种方法:

string constr = "server=localhost;uid=sa;pwd=longshicheng;database=Student";
      SqlConnection conn = new SqlConnection(constr);
      SqlCommand cmd = new SqlCommand("select * from studentname", conn);
      conn.Open();
      SqlDataReader rdr = cmd.ExecuteReader();
      string makestr = "";
      for (int k = 0; k < rdr.FieldCount; k++) //获取字段名称
      {
        makestr += rdr.GetName(k) + "\t"; //载入字段名称
      }
      makestr += Environment.NewLine; //换行
      makestr = makestr + "---------------------------------------------" + Environment.NewLine;
      while (rdr.Read()) //逐行读取每一笔记录
      {
        makestr = makestr + rdr.GetValue(0) + " \t" + rdr.GetValue(1).ToString() + "\t";
        makestr = makestr + Environment.NewLine;
      }
      txtother.Text = makestr;
      rdr.Close(); //关闭
      conn.Close();

以上所有方法运行结果均如下:

id    name   
---------------------------------------------
1     long  
2     long    
3     long    
4     long     
5     long     
6     chao    
7     chao

总结

以上所述是小编给大家介绍的C#中sqlDataRead 的三种方式遍历读取各个字段数值的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • C# SQLite执行效率的优化教程

    关于SQLite SQLite是一款轻型的嵌入式的遵守ACID的关系型数据库管理系统,诞生已有15个年头了.随着移动互联的发展,现在得到了更广泛的使用. 在使用SQLite之前,我们势必要先了解它一些"个性"的地方.下面是它的一些特点: 1. 自包含.SQLite很大层度上是独立的,他只需要非常小的外部库支持.任何程序能够访问磁盘就可以使用SQLite数据库.这使它适用于嵌入式设备,缺乏桌面计算机支持的基础设施.这也使得SQLite适用于不作任何修改就可运行在不同配置电脑上的程序. 2

  • C# 启用事务提交多条带参数的SQL语句实例代码

    具体代码如下所示: /// <summary> /// 启用事务提交多条带参数的SQL语句 /// </summary> /// <param name="mainSql">主表SQL</param> /// <param name="mainParam">主表对应的参数</param> /// <param name="detailSql">明细表SQL语句&l

  • C#连接加密的Sqlite数据库的方法

    对数据加密分两种,一种是对数据库本身进行加密,另一种是对数据表中的数据进行加密, 如果SQLite数据库加密,我这里使用的一个管理工具叫SQLiteDeveloper,如下就可以加密数据库 , 如果在工具中不提供密码的情况下打开数据库,会给你错误提示如下: , 或者在C# 使用错误的密码也会给你错误提示: System.Data.SQLite.SQLiteException:"file is encrypted or is not a database , 正确的连接方式就是在连接字符串中提供正

  • C# 操作PostgreSQL 数据库的示例代码

    什么是PostgreSQL? PostgreSQL是一个功能强大的开源对象关系数据库管理系统(ORDBMS). 用于安全地存储数据; 支持最佳做法,并允许在处理请求时检索它们. PostgreSQL(也称为Post-gress-Q-L)由PostgreSQL全球开发集团(全球志愿者团队)开发. 它不受任何公司或其他私人实体控制. 它是开源的,其源代码是免费提供的. PostgreSQL是跨平台的,可以在许多操作系统上运行,如Linux,FreeBSD,OS X,Solaris和Microsoft

  • C# 中用 Sqlparameter 的两种用法

    新建一个表: create table abc ( id int IDENTITY(1,1) NOT NULL, name nvarchar(100) , sex nvarchar(10) ) insert into abc values('asf','男') insert into abc values('ai','女') 创建表格完成. 新建一个存储过程: create procedure selbyid ( @id int, @thename nvarchar(100) output )

  • C#实现连接SQL Server2012数据库并执行SQL语句的方法

    本文实例讲述了C#实现连接SQL Server2012数据库并执行SQL语句的方法.分享给大家供大家参考,具体如下: 开发工具:Visual Studio 2012 数据库: SQL Server 2012 使用Visual Studio时还是直接和微软自家的SQL Server数据库连接比较方便,就像使用Eclipse时和MySQL连接便捷一样的道理 无论使用什么工具步骤都一样: 1. 首先保证相关工具都已经正确安装了 2. 开启数据库连接服务 3. 在开发工具中通过用户名和口令与数据库进行关

  • C#中SQL Command的基本用法

    Command 常用属性 CommText 要下达至数据源的命令 CommanTimeout 出错等待时间 Command 三种方法 ExecuteNonQuery() 不返回值 ,一般应用于insert,update,delete语句中 ExecuteScalar() 返回一个值,一般用于放回一个值的语句,如需求数据统计的count语句,求最大数Max语句等 ExcuteReader() 返回一个IDataReader,可以用于迭代返回记录 代码示例: using System; using

  • C#使用SQL Dataset数据集代码实例

    ADO.NET数据访问技术的一个突出特点就是支持离线访问,而实现这种离线访问的技术核心急速DataSet对象,该对象通过数据驻留在内存来实现离线访问. DataSet对象由一组DataTable对象组成,这些对象与DataRelation对象又包含Row(行),集合,Columns(列)集合,Rows集合是有多个DAtaRow对象组成,Columns集合是由多个Datacolumns对象组成. 步骤: 1,引入命名空间System.Data: 2,创建DataSet对象 3,创建DataTabl

  • 详解使用C#编写SqlHelper类

    无聊的周末,学习.编码无力.想找点事干但又不知道干点什么,猛然发现自己学过的SqlHelper快忘记了.于是乎虎躯一震心想怎能如此堕落下去,立马打开电脑,双手摸上键盘.写下此文作为学习过程中的复习,并分享出知识(顺便打发时间-^.^-). 下面开始正文 这里以控制台程序为案例.首先我们需要先配置一下连接字符串,我们需要在app.config文件中增加如下节点: <connectionStrings> <add name="Sql" connectionString=&

  • C#实现MySQL命令行备份和恢复

    MySQL数据库的备份有很多工具可以使用,这两天写了一个使用C#调用MYSQL的mysqldump命令完成MySQL数据库的备份与恢复的小工具 先来说一下mysqldump命令备份MySQL数据库的使用方法 mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql 直接将MySQL数据库压缩备份 mysqldump -hhostname -uusername -ppassword databasename |

  • C#编写SqlHelper类

    无聊的周末,学习.编码无力.想找点事干但又不知道干点什么,猛然发现自己学过的SqlHelper快忘记了.于是乎虎躯一震心想怎能如此堕落下去,立马打开电脑,双手摸上键盘.写下此文作为学习过程中的复习,并分享出知识(顺便打发时间-^.^-). 下面开始正文 这里以控制台程序为案例.首先我们需要先配置一下连接字符串,我们需要在app.config文件中增加如下节点: <connectionStrings> <add name="Sql" connectionString=&

  • C#连接到sql server2008数据库的实例代码

    废话不多说了,直接给大家贴代码了,具体代码如下所示: namespace MyFirstApp { class Program { static void Main(string[] args) { SqlConnection conn = null; SqlCommand comm = null; SqlDataReader sdreader = null; try { string ConStr = "server=192.168.1.110;uid=sa;pwd=woaifr0828;da

  • C#使用SQL DataReader访问数据的优点和实例

    DataReader DataReader对象提供了用顺序的,只读的方式读取Command对象获得的数据结果集,正是因为DataReader是以顺序的方式连续的读取数据,所有DataReader会以独占的方式打开数据库的连接 由于DataReader只执行读的操作(只读),并且每次只在内存缓冲区里存储结果集中的一条数据,所有使用DataReader的对象的效率比较高,如果要查询大量数据,同时不需要随机访问和修改数据,DataReader是优先的选择 DataReader 对象的常用属性 Fiel

随机推荐