我使用CrystalReports在C#中做了一个报告,问题是我无法链接这些表,因为当过程不识别外键时只有两个表,这是sql代码:
create table proveedores(
id_proveedor int identity(1,1) not null,
nombre_empresa nvarchar(100),
direccion nvarchar(100),
telefono int,
fecha_registro_proveedor nvarchar(100),
constraint pk_proveedores primary key(id_proveedor)
);
create table productos(
id_producto int identity(1,1) not null,
nombre_producto nvarchar(100),
descripcion nvarchar(100),
precio int,
id_proveedor int,
fecha_registro nvarchar(100),
constraint pk_productos primary key(id_producto),
constraint fk_productos foreign key (id_proveedor) references proveedores(id_proveedor)
);
insert into proveedores(nombre_empresa,direccion,telefono,fecha_registro_proveedor)
values('empresa 1','calle 1',4975034,'2016-04-02');
insert into proveedores(nombre_empresa,direccion,telefono,fecha_registro_proveedor)
values('empresa 2','calle 2',4646891,'2016-03-06');
insert into proveedores(nombre_empresa,direccion,telefono,fecha_registro_proveedor)
values('empresa 3','calle 3',4646891,'2016-08-21');
insert into productos(nombre_producto,descripcion,precio,id_proveedor,fecha_registro)
values('producto 1','descripcion 1',200,1,'2016-03-01');
insert into productos(nombre_producto,descripcion,precio,id_proveedor,fecha_registro)
values('producto 2','descripcion 2',400,2,'2016-01-06');
insert into productos(nombre_producto,descripcion,precio,id_proveedor,fecha_registro)
values('producto 3','descripcion 3',500,3,'2016-08-02');我试图将产品(productos)和供应商(proveedores)链接起来,用它们的数据和供应商名称表来显示产品。
问题是,当已经建立了相应的链接时,它没有显示供应商的名称。

VS 2012中的图像:


怎么解决这个问题?
发布于 2016-05-09 15:21:12
您应该在报表中使用nombre_empresa字段,而不是id_proveedor。如果您通过join从概念上将一个表链接到另一个表,它不会神奇地用相关值替换对另一个表中ID字段的引用。
https://stackoverflow.com/questions/37119191
复制相似问题