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

所属分类: 软件编程 / C#教程 阅读数: 144
收藏 0 赞 0 分享

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

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 的三种方式遍历读取各个字段数值的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多精彩内容其他人还在看

C# 大小写转换(金额)实例代码

C# 大小写转换(金额)实例代码,需要的朋友可以参考一下
收藏 0 赞 0 分享

C# WinForm中Panel实现用鼠标操作滚动条的实例方法

由于在WinForm中Panel不能直接响应鼠标的滚动事件,只好采用捕获窗体的滚动事件。
收藏 0 赞 0 分享

C#访问应用程序配置文件的方法

C#访问应用程序配置文件的方法,需要的朋友可以参考一下
收藏 0 赞 0 分享

C#读写文件的方法汇总

C#读写文件的方法汇总,需要的朋友可以参考一下
收藏 0 赞 0 分享

C#计算代码执行时间的方法

在一些测试工作时我们需要获得高精度的代码执行时间以比较其效率。
收藏 0 赞 0 分享

C# 动画窗体(AnimateWindow)的小例子

C# 动画窗体(AnimateWindow)的小例子,需要的朋友可以参考一下
收藏 0 赞 0 分享

C# zxing二维码写入的实例代码

C# zxing二维码写入的实例代码,需要的朋友可以参考一下
收藏 0 赞 0 分享

c#判断输入的是不是数字的小例子

c#判断输入的是不是数字的小例子,需要的朋友可以参考一下
收藏 0 赞 0 分享

c# 深拷贝与浅拷贝的区别分析及实例

浅拷贝(影子克隆):只复制对象的基本类型,对象类型,仍属于原来的引用. 深拷贝(深度克隆):不紧复制对象的基本类,同时也复制原对象中的对象.就是说完全是新对象产生的.
收藏 0 赞 0 分享

C#利用com操作excel释放进程的解决方法

最近利用Microsoft.Office.Interop.Excel.Application读取一个excel后,进程中一直存在excel,在网上找了一阵子,其中有几个解决方案
收藏 0 赞 0 分享
查看更多