Dataset中表的字段数问題

问题描述

Dataset是由OleDbAdapter通过fill方法填充的.而OleDbAdapter.SelectCommand从CreateCommand而来,是一个sql语句.这样的话如果这个sql语句是由join几个表这样的语句的话,adapter.fill出来的dataset.tables是由这几个表的原始数据组成还是只是满足join条件的那些记录.亦或是filldataset时会自动建立dataset.relations集合?还有字段呢,如果select语句只写了2个字段而实际table有3个字段,最终到dataset里会怎么表现如selectcustomer.name,customer.gender,customer.billaddr,shoporder.deliveryaddress,salsperson.name,salesperson.genderfromcustomer,shoporder,salespersonwherecustomer.custid=shoporder.custidandshoporder.spid=salsperson.spidcustomer(custidintprimarykey,namenvarchar(30),gendernvarchar(1),billaddrnvarchar(100))CREATETABLEsalesperson(spidintPRIMARYKEY,nameNVARCHAR(30),spsurnameNVARCHAR(30),spgenderNVARCHAR(1));shoporder(ordidintprimarykey,deliveryaddressnvarchar(100),custidNUMERIC(4)NOTNULLCONSTRAINTshoporder_custidFOREIGNKEY(custid)REFERENCEScustomer(custid),spidNUMERIC(4)NOTNULLCONSTRAINTshoporder_spidFOREIGNKEY(spid)REFERENCESsalesperson(spid),)

解决方案

解决方案二:
你查出来的结果集是什么就是什么
解决方案三:
查询几个就是几个字段。你测试一下就知道了。
解决方案四:
join就是联合查询,你查出什么结果就是什么结果,如果你的字段来自不同的表,就是多表的内容
解决方案五:
你查询语句查询的字段是几个,dataset里面就是几个

时间: 2024-12-30 15:29:50

Dataset中表的字段数问題的相关文章

ADO如何取得数据库中表的字段信息之一

若要取得数据库中表的字段信息,由以下RecordSet对象的属性可得知: ActualSize属性:字段的实际大小. DefinedSize属性:定义字段的大小. Type属性:字段类型,使用以下数字代表之:文字text:200 日期时间date:135 整数int/识别码:3 单精准度:4 双精准度:5 备注memo:201 是否yes/no:17 Name属性:字段名称. NumericScale属性:字段小数部份的位数. Precision属性:字段的整数和小数位数部份加起来的最多位数.取

关于数据库新增字段的问

问题描述 关于数据库新增字段的问 目前做运维,项目在正常使用,市场部提出新增需求,实现起来必须要在原有数据库主表里添加一个字段.问:这样做合适吗?可以实现吗? 解决方案 要看具体情况的,比如数据库添加字段后,代码的修改量有多大,数据库代码有多少需要修改的,然后再定. 解决方案二: 多谢回答............. 解决方案三: ....数据库主表里添加一个字段 那肯定是项目有新的需求了才要添加的,有啥考虑的...

sql-SQL 三张表联合查询其中表有空字段的问题

问题描述 SQL 三张表联合查询其中表有空字段的问题 table1(id1).table2(id2id1no).table3(noname) select t3.name from table1 t1(nolock) inner join table2 t2(nolock)on t1.id1 = t2.id1inner join table3 t3(nolock)on t2.no = t3.no 第2张表里面对应的no字段有可能为空,为空的时候name就为空,这个要怎么查询才不会有冗余,请指教

MySQL内核月报 2014.10-MySQL· 系统限制·text字段数

背景 当用户从oracle迁移到MySQL时,可能由于原表字段太多建表不成功,这里讨论一个问题:一个InnoDB表最多能建多少个text字段. 我们后续的讨论基于创建表的语句形如:create table t(f1 text, f2 text, ..., fN text)engine=innodb; 默认配置 在默认配置下,上面的建表语句,N取值范围为[1, 1017]. 为什么是1017这个"奇怪"的数字.实际上单表的最大列数目是1024-1,但是由于InnoDB会增加三个系统内部字

datatble-查询完数据放入dataset处理完字段后,绑定gridview问题

问题描述 查询完数据放入dataset处理完字段后,绑定gridview问题 DataSet ds = SqlHelper.ExecuteDataSet(sql); DataTable dt = ds.Tables[0]; for (int i = 0; i < dt.Rows.Count;i++ ) { string accep = dt.Rows[i]["Rd_AcceptUnit"].ToString(); accep.TrimEnd(','); } this.gvComm

如何读取oracle数据库中表的字段,然后上传到excel服务器(勤哲excel2008服务器)

问题描述 如何读取oracle数据库中表的字段,然后上传到excel服务器(勤哲excel2008服务器) 解决方案 解决方案二:路过帮顶=============11月6日,论坛升级公告,积分已经做了调整!http://topic.csdn.net/u/20081107/11/b27dc75f-14b1-4594-9de3-5b18d9e36a11.html此次调整增加了两个新的可用分获取渠道:1:帖子被推荐(加精)后,帖主可以获得88分的可用分奖励:2:帖子结帖后会返还帖主50%的悬赏分,无

ADO如何取得数据库中表的字段信息之二

接前一个例子:     Connection 对象的Attributes属性:代表数据库连线的状态,由以下值相加,预设值为0: &H00020000:正在呼叫CommitTrans. &H00020000:正在呼叫RollbackTrans. State属性:显示对象的状态: 0:对象已经关闭. 1:对象已经开启.让我们看一个於ASP程式码当中使用Attributes/State属性的例子. 譬如ASP程式码rs17.asp如下: <% Set conn1 = Server.Crea

基于动态表单的Java不确定字段数报表项目实现

最近在一个项目的实施过程中,由于客户是国内该行业业务的领导者,业务表格并没有真正的确定,一直在不断的完善.所以程序的业务表单一直被客户牵制,一直跟着业务更改,要想非常出色的支撑整个项目和实现真正意义上的业务表单与整个项目松耦合集成才能达到最好的实施效果和最高的开发效率.经过与公司总监.总工程师多次探讨,决定开发动态表单插件,以满足客户业务表格不断变化的需求. 动态表单插件,即为由客户确定业务表格,通过插件录入到动态表单核心程序,生成业务表单. 具体实现思路: 1.手工制作带有特殊标记的html页

如何将dataset中的某些字段更新进数据库?

问题描述 dataset中不是全部数据字段都有用,且数据库中的字段数远大于dataset中的,如何实现导入? 解决方案 解决方案二:那你在定义SqlDataAdapter的时候中的SelectCommand的时候就指定要更新的列就可以了比如你只想更新DATASET中的列2,列4,列6的话SqlDataAdapterad=newSqlDataAdapter("select列2,列4,列6ffrom表",连接);SqlCommandBuildersb=newSqlCommandBuilde