一个气体公司的进销存系统。产品有很多中,如图中的氧气、氩气等等,产品是动态添加的。
有产品表、客户表、销售表、销售明细表、回收表、回收明细表,要在一张报表上显示。弱弱的问一句,这功能能实现不?
数据库代码,字段中无关的可以删掉,只要能显示图中的效果就行。
期待哪位牛人能给一个思路,
我第一次做这东西,都不知道从哪开始。我现在的做法是把数据都存入一个datatable中,再用gridview与datatable绑定。但产品是动态添加的, 我就不会弄了。
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_EnterGas_Customer]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[EnterGas] DROP CONSTRAINT FK_EnterGas_Customer
GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_RecycleStock_Customer]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[RecycleStock] DROP CONSTRAINT FK_RecycleStock_Customer
GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_Sale_Customer]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[Sale] DROP CONSTRAINT FK_Sale_Customer
GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_EnterStock_Detail_Product]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[EnterStock_Detail] DROP CONSTRAINT FK_EnterStock_Detail_Product
GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_StockPile_Product]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[StockPile] DROP CONSTRAINT FK_StockPile_Product
GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_RecycleStock_Detail_RecycleStock]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[RecycleStock_Detail] DROP CONSTRAINT FK_RecycleStock_Detail_RecycleStock
GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_Sale_Detail_Sale]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[Sale_Detail] DROP CONSTRAINT FK_Sale_Detail_Sale
GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Customer]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Customer]
GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Product]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Product]
GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[RecycleStock]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[RecycleStock]
GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[RecycleStock_Detail]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[RecycleStock_Detail]
GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Sale_Detail]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Sale_Detail]
GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Sale]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Sale]
GO/*客户表*/
CREATE TABLE [dbo].[Customer] (
[CustomerId] [int] IDENTITY (1, 1) NOT NULL , /*客户ID*/
[CustomerName] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL , /*客户名称*/
[CustomerPhone] [varchar] (25) COLLATE Chinese_PRC_CI_AS NULL ,
[CustomerFax] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[CustomerContact] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[CustomerAddress] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO/*产品表*/
CREATE TABLE [dbo].[Product] (
[ProductID] [int] IDENTITY (1, 1) NOT NULL ,/*产品ID*/
[ProductName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,/*产品名称*/
[ProductCapacity] [float] NULL
) ON [PRIMARY]
GO/*回收表*/
CREATE TABLE [dbo].[RecycleStock] (
[RecycleStockID] [int] IDENTITY (1, 1) NOT NULL ,/*回收瓶子ID*/
[RecycleDate] [datetime] NOT NULL ,/*回收时间*/
[CustomerID] [int] NOT NULL ,/*客户ID*/
[InvoiceNum] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,/*发票号*/
[Description] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL /*说明*/
) ON [PRIMARY]
GO/*回收明细表*/
CREATE TABLE [dbo].[RecycleStock_Detail] (
[DetailID] [int] IDENTITY (1, 1) NOT NULL , /*回收详细ID*/
[RecycleStockID] [int] NOT NULL , /*回收瓶子ID*/
[ProductID] [int] NOT NULL , /*产品ID*/
[Price] [money] NULL ,
[Quantity] [int] NOT NULL , /*回收数*/
[BottleType] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[Description] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL /*说明*/
) ON [PRIMARY]
GO/*销售明细表*/
CREATE TABLE [dbo].[Sale_Detail] (
[DetailID] [int] IDENTITY (1, 1) NOT NULL , /*销售明细ID*/
[SaleID] [int] NOT NULL , /*销售ID*/
[ProductID] [int] NOT NULL ,/*产品ID*/
[SaleQuantity] [int] NULL , /*送气数*/
[ZiQuantity] [int] NULL ,/*自提数*/
[ReturnQuantity] [int] NULL , /*退瓶数*/
[BottleType] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[Description] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL /*说明*/
) ON [PRIMARY]
GO/*销售表*/
CREATE TABLE [dbo].[Sale] (
[SaleID] [int] IDENTITY (1, 1) NOT NULL , /*销售ID*/
[SaleDate] [datetime] NOT NULL , /*销售时间*/
[CustomerID] [int] NOT NULL ,/*客户ID*/
[TotalPrice] [money] NULL ,
[InvoiceNum] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,/*发票号*/
[Description] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL /*说明*/
) ON [PRIMARY]
GO
有产品表、客户表、销售表、销售明细表、回收表、回收明细表,要在一张报表上显示。弱弱的问一句,这功能能实现不?
数据库代码,字段中无关的可以删掉,只要能显示图中的效果就行。
期待哪位牛人能给一个思路,
我第一次做这东西,都不知道从哪开始。我现在的做法是把数据都存入一个datatable中,再用gridview与datatable绑定。但产品是动态添加的, 我就不会弄了。
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_EnterGas_Customer]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[EnterGas] DROP CONSTRAINT FK_EnterGas_Customer
GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_RecycleStock_Customer]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[RecycleStock] DROP CONSTRAINT FK_RecycleStock_Customer
GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_Sale_Customer]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[Sale] DROP CONSTRAINT FK_Sale_Customer
GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_EnterStock_Detail_Product]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[EnterStock_Detail] DROP CONSTRAINT FK_EnterStock_Detail_Product
GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_StockPile_Product]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[StockPile] DROP CONSTRAINT FK_StockPile_Product
GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_RecycleStock_Detail_RecycleStock]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[RecycleStock_Detail] DROP CONSTRAINT FK_RecycleStock_Detail_RecycleStock
GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_Sale_Detail_Sale]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[Sale_Detail] DROP CONSTRAINT FK_Sale_Detail_Sale
GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Customer]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Customer]
GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Product]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Product]
GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[RecycleStock]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[RecycleStock]
GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[RecycleStock_Detail]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[RecycleStock_Detail]
GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Sale_Detail]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Sale_Detail]
GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Sale]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Sale]
GO/*客户表*/
CREATE TABLE [dbo].[Customer] (
[CustomerId] [int] IDENTITY (1, 1) NOT NULL , /*客户ID*/
[CustomerName] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL , /*客户名称*/
[CustomerPhone] [varchar] (25) COLLATE Chinese_PRC_CI_AS NULL ,
[CustomerFax] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[CustomerContact] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[CustomerAddress] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO/*产品表*/
CREATE TABLE [dbo].[Product] (
[ProductID] [int] IDENTITY (1, 1) NOT NULL ,/*产品ID*/
[ProductName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,/*产品名称*/
[ProductCapacity] [float] NULL
) ON [PRIMARY]
GO/*回收表*/
CREATE TABLE [dbo].[RecycleStock] (
[RecycleStockID] [int] IDENTITY (1, 1) NOT NULL ,/*回收瓶子ID*/
[RecycleDate] [datetime] NOT NULL ,/*回收时间*/
[CustomerID] [int] NOT NULL ,/*客户ID*/
[InvoiceNum] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,/*发票号*/
[Description] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL /*说明*/
) ON [PRIMARY]
GO/*回收明细表*/
CREATE TABLE [dbo].[RecycleStock_Detail] (
[DetailID] [int] IDENTITY (1, 1) NOT NULL , /*回收详细ID*/
[RecycleStockID] [int] NOT NULL , /*回收瓶子ID*/
[ProductID] [int] NOT NULL , /*产品ID*/
[Price] [money] NULL ,
[Quantity] [int] NOT NULL , /*回收数*/
[BottleType] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[Description] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL /*说明*/
) ON [PRIMARY]
GO/*销售明细表*/
CREATE TABLE [dbo].[Sale_Detail] (
[DetailID] [int] IDENTITY (1, 1) NOT NULL , /*销售明细ID*/
[SaleID] [int] NOT NULL , /*销售ID*/
[ProductID] [int] NOT NULL ,/*产品ID*/
[SaleQuantity] [int] NULL , /*送气数*/
[ZiQuantity] [int] NULL ,/*自提数*/
[ReturnQuantity] [int] NULL , /*退瓶数*/
[BottleType] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[Description] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL /*说明*/
) ON [PRIMARY]
GO/*销售表*/
CREATE TABLE [dbo].[Sale] (
[SaleID] [int] IDENTITY (1, 1) NOT NULL , /*销售ID*/
[SaleDate] [datetime] NOT NULL , /*销售时间*/
[CustomerID] [int] NOT NULL ,/*客户ID*/
[TotalPrice] [money] NULL ,
[InvoiceNum] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,/*发票号*/
[Description] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL /*说明*/
) ON [PRIMARY]
GO
解决方案 »
- 如何在后台写代码添加textbox文本框
- 无偿献上个人最好的东西.提供下载
- html页面打印的奇怪问题
- 在iis中打开ASP.NET网站时弹出输入用户名和密码的窗口
- ASP.NET的问题DataBinding:“System.Data.DataRowView”不包含名为“E_mail”的属性
- 请教一个软件试用期是如何实现的?
- 2 个有关系 CS 类文件如何编译成DLL???
- 怎样自由控制由system.drawing生成的图表(立即给分)
- 有谁能够告诉我用户帐号控制的简单做法?提供原理和简要但关键的代码者给分
- 有谁知道在一个textbox打入一个字母旁边有一个下拉表出现打入那个字母所有包含这个字列表
- 关于treeview的问题
- 实现动态菜单栏的方法
2.用sql可以实现
报表是报表,跟web页面显示不要混为一团。
(2)如果是多表连接的话
就用视图,proc将结构查询出来
并不是所有的报表都同于报表,有些为了实现格式,用的Table显示与打印,同样叫报表!
然后自己用代码逐一绑定到标签或控件上。
我没觉得这有什么难度。
也许是我理解能力不足,没有理解LZ的意思。