C# DataSet返回结果集 C# DataSet查看返回结果集的实现
pengshengli 人气:8想了解C# DataSet查看返回结果集的实现的相关内容吗,pengshengli在本文为您仔细讲解C# DataSet返回结果集的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:C#,DataSet返回结果集,C#,DataSet,结果集,下面大家一起来学习吧。
先看一段代码:
private DataSet GetDataSet(string strsql) { string strcon = "server = 192.168.2.1,1433;uid = sa ; pwd = 123456 ; database = MyDB"; SqlConnection con = new SqlConnection(strcon); DataSet ds = new DataSet(); try { SqlDataAdapter DA = new SqlDataAdapter(strsql, con); DA.Fill(ds, "tb"); } catch (SqlException E) { throw new Exception(E.Message); } con.Close();//关闭数据库 return ds; }
以上是连接数据库,查询数据库并返回结果集。
主要看DataSet ds 返回值,怎么去获取返回的数据,ds.Tables.Count值为返回的表的数量。
如果查询sql语句中只有一个select,则返回一个table:
如果有10个select就会返回10个table:
ds.Tables[0].Rows.Count的值为第一个表数据的条数。(下面有23条数据)
ds.Tables[0].Rows[0].ItemArray[0]为第一个表,第一条数据的第一个值。
看到这里就应该知道怎么取返回结果集的数了,但是要注意一点,如果返回的某条数据本身就没有,
比如:查询的结果ds.Tables[0].Rows.Count=0
,也就是说第一个表的数据条数为0,取值的时候程序写ds.Tables[0].Rows[0]
就会报错,和数组越界是同样的(一个动态数组没分配空间就去访问就会报“访问越界”),所以这里面的数组应该都是动态数组。
因此,在取值前先判断一下ds.Tables.Count以及ds.Tables[0].Rows.Count等等的Count的大小,大于0再取值
。一般都会使用for和while循环的取值,里面本来就带了判断条件,但在单个取值的时候一定要小心。
加载全部内容