Dataset中表的字段数问題
Dataset是由OleDbAdapter通过fill方法填充的.
而OleDbAdapter.SelectCommand从CreateCommand而来, 是一个sql语句.
这样的话如果这个sql语句是由join几个表这样的语句的话, adapter.fill出来的dataset.tables是由这几个表的原始数据组成还是只是满足join条件的那些记录. 亦或是fill dataset时会自动建立dataset.relations集合?
还有字段呢, 如果select语句只写了2个字段而实际table有3个字段, 最终到dataset里会怎么表现
如
select customer.name, customer.gender, customer.billaddr,
shoporder.deliveryaddress,
salsperson.name,salesperson.gender
from customer, shoporder, salesperson
where customer.custid=shoporder.custid and
shoporder.spid=salsperson.spid
customer
(
custid int primary key,
name nvarchar(30),
gender nvarchar(1),
billaddr nvarchar(100)
)
CREATE TABLE salesperson
(
spid int PRIMARY KEY,
name NVARCHAR(30),
spsurname NVARCHAR(30),
spgender NVARCHAR(1)
);
shoporder
(
ordid int primary key,
deliveryaddress nvarchar(100),
custid NUMERIC(4) NOT NULL
CONSTRAINT shoporder_custid
FOREIGN KEY (custid)
REFERENCES customer(custid),
spid NUMERIC(4) NOT NULL
CONSTRAINT shoporder_spid
FOREIGN KEY (spid)
REFERENCES salesperson(spid),
)