C# DataSet查看返回结果集的实现
作者:pengshengli 时间:2021-10-10 09:54:31
先看一段代码:
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循环的取值,里面本来就带了判断条件,但在单个取值的时候一定要小心。
来源:https://blog.csdn.net/pengshengli/article/details/84071878
标签:C#,DataSet,返回结果集
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
C#操作Excel相关方法总结
2021-06-22 12:00:48
java 中遍历取值异常(Hashtable Enumerator)解决办法
2023-08-06 05:17:08
springboot中通过lua脚本来获取序列号的方法
2023-05-05 04:25:44
![](https://img.aspxhome.com/file/2023/9/97969_0s.png)
java实现滑动验证解锁
2023-06-02 12:16:36
![](https://img.aspxhome.com/file/2023/4/74894_0s.jpg)
使用SpringBoot获取所有接口的路由
2021-08-29 22:28:34
Hadoop1.2中配置伪分布式的实例
2023-01-26 12:20:56
Android开启动画之渐隐渐现效果
2021-07-21 08:45:28
IDEA插件EasyCode及MyBatis最优配置步骤详解
2023-11-09 03:19:19
解决SpringBoot中使用@Async注解失效的问题
2023-08-24 07:38:46
![](https://img.aspxhome.com/file/2023/3/85473_0s.jpg)
Java利用HttpClient模拟POST表单操作应用及注意事项
2023-11-29 23:48:01
Android实现摇一摇功能
2023-07-23 20:21:11
VMware虚拟机下hadoop1.x的安装方法
2023-07-27 08:01:40
java 生成xml并转为字符串的方法
2023-01-07 08:27:30
Java 确保某个Bean类被最后执行的几种实现方式
2021-09-28 09:53:49
![](https://img.aspxhome.com/file/2023/8/99758_0s.png)
解决springboot项目不配置数据源启动报错问题
2022-04-27 23:12:21
![](https://img.aspxhome.com/file/2023/4/100674_0s.png)
基于Java语言实现Socket通信的实例
2021-08-06 17:17:50
![](https://img.aspxhome.com/file/2023/5/68705_0s.jpg)
C# 关于LoadLibrary的疑问详解
2023-07-26 23:14:10
C# 分支与循环介绍
2022-10-26 13:50:02
JAVA中Collections工具类sort()排序方法
2021-10-22 04:56:29
详解Java中方法重写和方法重载的6个区别
2023-11-28 13:42:18
![](https://img.aspxhome.com/file/2023/2/60072_0s.jpg)