SqlDataAdapter的方法之一Fill (DataSet dataset, String datatable)解释
一、SqlDataAdapter的方法之一Fill (DataSet dataset, String datatable)解释:
根据datatable名填充Dataset。
myda.Fill(ds, strtable);
strtable不是一个变量,是一张虚表
你通过SQL语句获得某张数据库的表之后把这些数据填充到dataset中,dataset也是张虚表,像视图一样,现在的strtable就表示你需要的数据的集合,虚表~~ 所以strtable必须打""
myda.Fill(ds, "strtable");
可以不需要strtable,直接myda.Fill(ds); 即用Fill(DataSet dataset)方法,返回值是成功添加或更新的行的数量。
二、关于DataSet的Tables参数问题
da.Fill(ds) --这里没有指定Table名
Gridview.DataSource = ds.Tables(0) --所以这里用 Tables(0)
C# 如果
da.Fill(ds ,"UserTableName")
Gridview.DataSource = ds.Tables["UserTableName"] --这里就可以用名称了
因为一个DataSet中可以放下好多个表,一般读取数据库时数据默认填入DataSet的第一个表中,其Index为0,所以这里用Tables(0),特指DataSet中的第一个DataTable。
索引值,从0开始
如:如果DataSet里有多个表集,可以通过索引访问 ;
ST_dd.Tables[0]:取ST_dd里的第一张表
ST_dd.Tables[0].Rows[0] : 取ST_dd里的第一张表里的第一行
今天遇到一个问题就是从数据库中取出的值放在dataset中,那么如何判断这个dataset中有没有表呢,有的话,这个表中有没有数据 ?
应该是下面这样判断:
if(dataset.Tables.Count==0)//表示dataset中没有表
if(dataset.Tables.Count==1&&dataset.Tables[0].Rows.Count==0)
//表示dataset中 有一个表,但这个表中没有数据
DataView表示用于排序、筛选、搜索、编辑和导航的 DataTable 的可绑定数据的自定义视图。
DataTable表示内存中数据的一个表。
SqlDataAdapter的方法之一Fill (DataSet dataset, String datatable)解释的更多相关文章
- SqlDataAdapter.Update()方法与SqlCommandBuilder(转)
用SqlDataAdapter操纵数据集时最常用到的就是Fill()与Update()方法.Fill()填充DataSet或DataTable,而Update()就是将DataSet或DataTabl ...
- C#里sqlDataAdapter.fill(DataSet,String)的用法
第二个参数 String是指定DataSet 里表的名字,例如 sqlDataAdapter.fill(DataSet,"学生表") 指定后,以后就可以这样调用这张表 DataSe ...
- .NET(C#)中的DataSet、string、DataTable等对象转换成Json
ConvertJson.cs类 using System; using System.Collections.Generic; using System.Text; using System.Data ...
- C#中的DataSet、string、DataTable、对象转换成Json的实现代码
C#中对象,字符串,dataTable.DataReader.DataSet,对象集合转换成Json字符串方法. public class ConvertJson { #region 私有方法 /// ...
- (C#)中的DataSet、string、DataTable等对象转换成Json
ConvertJson.cs类 using System; using System.Collections.Generic; using System.Text; using System.Data ...
- 解压与压缩(把dataset转为string、、 )
/// <summary> /// 压缩 解压 /// </summary> public class ZipHelper { #region 压缩解缩 /// <sum ...
- C#使用DataSet类、DataTable类、DataRow类、OleDbConnection类、OleDbDataAdapter类编写简单数据库应用
//注意:请使用VS2010打开以下的源代码. //源代码地址:http://pan.baidu.com/s/1j9WVR using System; using System.Collections ...
- LINQ to Entities 不识别方法“System.Guid Parse(System.String)”,因此该方法无法转换为存储表达式。
LINQ to Entities 不识别方法"System.Guid Parse(System.String)",因此该方法无法转换为存储表达式. linq 中不能转换类型
- 【转载】C#通过IndexOf方法获取某一列在DataTable中的索引位置
在C#中的Datatable数据变量的操作过程中,有时候需要知道某一个列名在DataTable中的索引位置信息,此时可以通过DataTable变量的Columns属性来获取到所有的列信息,然后通过Co ...
随机推荐
- c语言题目:找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点
//题目:找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小.也可能没有鞍点. // #include "stdio.h" #include <stdli ...
- hacker入门篇——相关书籍
1.<黑客大曝光:网络安全机密与解决方案(第7版)> 简介:这是一本老外写的书,比较适合入门看,内容包括一些基本的攻防流程,基本工具软件,网络安全的一些基本概念等,对整个网络安全和黑客入侵 ...
- QT连接mysql中文显示问题
亲测OK! #vim /etc/mysql/my.cnf [mysqld]下面加入: default-character-set=utf8 重启mysql /etc/init.d/mysql rest ...
- C++设计模式之命令模式
厨师类: #include "Cooker.h" Cooker::Cooker(void) { } Cooker::~Cooker(void) { } void Cooker::M ...
- OSG显示文字——自定义显示文字函数
#include <Windows.h> #include <osg/Geode> #include <osg/Geometry> #include <osg ...
- 1.5 外部销售自动创建为内部PR
1.5 外部销售自动创建为内部PR 1.5.1 业务方案描述 外部销售订单登记后,在销售订单录入界面点击一个创建内部申请按钮,自动将外部销售订单创建为内部申请,创建后将不得再次创 ...
- Qt 的线程与事件循环——可打印threadid进行观察槽函数到底是在哪个线程里执行,学习moveToThread的使用)
周末天冷,索性把电脑抱到床上上网,这几天看了 dbzhang800 博客关于 Qt 事件循环的几篇 Blog,发现自己对 Qt 的事件循环有不少误解.从来只看到现象,这次借 dbzhang800 的博 ...
- Strange Towers of Hanoi
题目链接:http://sfxb.openjudge.cn/dongtaiguihua/E/ 题目描述:4个柱子的汉诺塔,求盘子个数n从1到12时,从A移到D所需的最大次数.限制条件和三个柱子的汉诺塔 ...
- ios webview 加载含有中文的URL网页显示白屏
1. ios中的webview加载的URL不可以含有中文,解决办法说将中文字符转码, 如下: - (NSString *)URLEncodeString { NSCharacterSet *set = ...
- C#深复制和浅复制
本文在于巩固基础 我们来看看什么是深复制.浅复制: C#中对于数据的复制机制虽然简单但是容易让人误解.C#数据类型大体分为值类型(value type)与引用类型(reference type).对于 ...