进销存管理系统的疑问 高手请进 进销存管理系统中 一般都有一个 销售表和一个销售明细表,就像一个客户在超市里可以买多种东西一样,在C#中该如何处理呢?可以给一个思路吗?在线期待。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 销售明细表: 商品ID 单位数量 售价 成本价 单价合计 销售表:商品ID 销售数量 销售时间二表间用商品ID链接,我这只是一个简单的例子. 首先,数据表结构应该是主表和从表的关系,如2009年1月20号销售给A客户的销售单上有B产品20个,C产品30个那么应该建立主表,字段有:MainID,客户名称或编号,销售日期,制单人,审核人(可无)子表字段有:ID,MainID(它和主表的MainID字段关联),产品编号,数量,单价,金额产品表其实也是要有的,比如让用户选择产品时可以看到产品的编号和规格型号等属性在C#里实现的话,就是表头和表体表头即要保存到主表的内容,如:客户名称或编号,销售日期,制单人,审核人表体即要保存到子表的内容,如:MainID(它和主表的MainID字段关联),产品编号,数量,单价,金额表头和表体的数据表是一对多的关系,即一个客户可能同时购买多个不同的产品你明白了吗? sql = "insert into RdRecord (cCode,dDate,cRdCode,cWhCode,cDepCode,cMemo) values('" + txtcCode.Text + "','" + txtdDate.Text + "','" + txtcRdCode.Tag + "','" + txtcWhCode.Tag + "','" + txtcDepCode.Tag + "','" + txtcMemo.Text + "')"; dc.UpdateObject(sql); string MainID = dc.GetOne("select ID from RdRecord where cCode='" + txtcCode.Text + "'").ToString();//循环表体,保存子表的多个产品 for (int i = 1; i < c1FG.Rows.Count; i++) { if (c1FG[i, 1] != null && c1FG[i, 5] != null) { sql = "insert into RdRecords(ID,cCode,cInvCode,iQuantity,iUnitCost) values(" + MainID + ",'" + txtcCode.Text + "','" + c1FG[i, 1].ToString() + "'," + c1FG[i, 5].ToString() + "," + c1FG[i, 6].ToString() + ")"; dc.UpdateObject(sql); } } 销售主表:单号,销售时间等销售明细表: 单号,商品ID,单位数量,销售价 两者用单号关联,单号一般是流水号,例如:200902030001商品表:商品ID,成本价,库存数(也可分成:实际库存、潜在库存等) 参照用友软件的设计:-------------------------------------------------------Summary销售发票主表Re销售及应收用专用发票、普通发票、零售日报、销售调拨单、期初发票Columns Column Name Description Datatype Length Allow Nulls SBVID 销售发票主表标识 int 4 False cSBVCode 销售发票号 varchar 30 True cVouchType 发票类型 varchar 2 False cSTCode 销售类型编码 varchar 2 True dDate 单据日期 datetime 8 False cSaleOut 出库单据号字符串 varchar 255 True cRdCode 收发类别编码 varchar 5 True cDepCode 部门编码 varchar 12 False cPersonCode 业务员编码 varchar 20 True cSOCode 销售订单号 varchar 30 True cCusCode 客户编码 varchar 20 True cPayCode 付款条件编码 varchar 3 True cexch_name 币种名称 varchar 8 False cMemo 备注 varchar 60 True iExchRate 汇率 float 8 True iTaxRate 表头税率 float 8 True bReturnFlag 退货标志 bit 1 False cBCode 银行编码 varchar 3 True cBillVer 发票版别 varchar 2 True cMaker 制单人 varchar 20 True cInvalider 作废人 varchar 20 True cVerifier 审核人 varchar 20 True cBusType 业务类型 varchar 8 True bFirst 应收期初标志 bit 1 False citem_class 项目大类编码 varchar 2 True citemcode 项目编码 varchar 20 True cHeadCode 科目编码 varchar 15 True cDefine1 自定义项1 varchar 20 True cDefine2 自定义项2 varchar 20 True cDefine3 自定义项3 varchar 20 True cDefine4 自定义项4 datetime 8 True cDefine5 自定义项5 int 4 True cDefine6 自定义项6 datetime 8 True cDefine7 自定义项7 float 8 True cDefine8 自定义项8 varchar 4 True cDefine9 自定义项9 varchar 8 True cDefine10 自定义项10 varchar 60 True bPayMent 现付现结标志 varchar 20 True iDisp 是否先发货 smallint 2 True cCusName 客户名称 varchar 120 True cDLCode 发货退货单号 varchar 255 True cAccounter 记账人 varchar 20 True cChecker 复核人 varchar 20 True iVTid 单据模版号 int 4 False bIAFirst 存货期初标志 bit 1 True ufts 时间戳 timestamp 8 True cCreChpName 信用审核人 varchar 20 True cInfoTypeCode 金税对应发票号 varchar 20 True cSource 单据来源 varchar 4 True cDefine11 自定义项11 varchar 120 True cDefine12 自定义项12 varchar 120 True cDefine13 自定义项13 varchar 120 True cDefine14 自定义项14 varchar 120 True cDefine15 自定义项15 int 4 True cDefine16 自定义项16 float 8 True cSCCode 发运方式 varchar 2 True cShipAddress 发货地址 varchar 200 True ----------------------------------------Summary销售发票子表Re销售及应收用专用发票、普通发票、零售日报、销售调拨单、期初发票Columns Column Name Description Datatype Length Allow Nulls SBVID 销售发票主表标识 int 4 False AutoID 销售发票子表标识 int 4 False cWhCode 仓库编码 varchar 10 True cInvCode 存货编码 varchar 20 False iQuantity 数量 float 8 True iNum 辅计量数量 float 8 True iQuotedPrice 报价 float 8 True iUnitPrice 原币无税单价 float 8 True iTaxUnitPrice 原币含税单价 float 8 True iMoney 原币无税金额 money 8 True iTax 原币税额 money 8 True iSum 原币价税合计 money 8 True iDisCount 原币折扣额 money 8 True iNatUnitPrice 本币无税单价 float 8 True iNatMoney 本币无税金额 money 8 True iNatTax 本币税额 money 8 True iNatSum 本币价税合计 money 8 True iNatDisCount 本币折扣额 money 8 True iSBVID 原销售发票主表标识 int 4 True iMoneySum 累计本币收款金额 float 8 True iExchSum 累计原币收款金额 float 8 True cClue 凭证线索号 varchar 30 True cIncomeSub 销售收入科目编码 varchar 15 True cTaxSub 销售税金科目编码 varchar 15 True dSignDate 凭证日期 datetime 8 True cMemo 备注 varchar 60 True iBatch 批次 int 4 True cBatch 批号 varchar 20 True bSettleAll 结算标志 bit 1 True cFree1 存货自由项1 varchar 20 True cFree2 存货自由项2 varchar 20 True RdsID 收发记录子表标识 int 4 True iTB 退补标志 tinyint 1 True dvDate 失效日期 datetime 8 True TBQuantity 退补数量 real 4 True TBNum 退补辅计量数量 real 4 True iSOsID 销售订单子表标识 int 4 True iDLsID 发货退货单子表标识 int 4 True KL 扣率 float 8 True KL2 二次扣率 float 8 True cInvName 存货名称 varchar 60 True iTaxRate 税率 float 8 True cDefine22 表体自定义项22 varchar 60 True cDefine23 表体自定义项23 varchar 60 True cDefine24 表体自定义项24 varchar 60 True cDefine25 表体自定义项25 varchar 60 True cDefine26 表体自定义项26 float 8 True cDefine27 表体自定义项27 float 8 True fOutQuantity 累计出库数量 float 8 True fOutNum 累计出库辅计量数量 float 8 True cItemCode 项目编码 varchar 20 True cItem_class 项目大类编码 varchar 10 True fSaleCost 零售单价 float 8 True fSalePrice 零售金额 float 8 True cItemName 项目名称 varchar 60 True cItem_CName 项目大类名称 varchar 20 True cFree3 存货自由项3 varchar 20 True cFree4 存货自由项4 varchar 20 True cFree5 存货自由项5 varchar 20 True cFree6 存货自由项6 varchar 20 True cFree7 存货自由项7 varchar 20 True cFree8 存货自由项8 varchar 20 True cFree9 存货自由项9 varchar 20 True cFree10 存货自由项10 varchar 20 True iInvExchRate 换算率 userdecimal 13 True cUnitID 计量单位编码 varchar 10 True cDefine28 表体自定义项28 varchar 120 True cDefine29 表体自定义项29 varchar 120 True cDefine30 表体自定义项30 varchar 120 True cDefine31 表体自定义项31 varchar 120 True cDefine32 表体自定义项32 varchar 120 True cDefine33 表体自定义项33 varchar 120 True cDefine34 表体自定义项34 int 4 True cDefine35 表体自定义项35 int 4 True cDefine36 表体自定义项36 datetime 8 True cDefine37 表体自定义项37 datetime 8 True dMDate 生产日期 datetime 8 True iPBVsID 采购发票子表标识 int 4 True cCode 入库单据号 varchar 30 True cSoCode 销售订单号 varchar 30 True bgsp 质检标记 bit 1 True iPPartSeqID PTO母件顺序号 int 4 True iPPartID 母件物料ID int 4 True iPPartQty 母件数量 userdecimal 13 True cContractID 合同号 varchar 64 True cContractTagCode 合同标的 varchar 64 True cContractRowGuid 合同cGuid uniqueidentifier 16 True iMassDate 保质期 int 4 True cMassUnit 保质期单位 smallint 2 True bQANeedCheck 是否质检 bit 1 False bQAUrgency 是否急料 bit 1 False cCusInvCode 客户存货编码 varchar 40 True cCusInvName 客户存货名称 varchar 100 True 什么叫在c#中实现,你是说界面的实现gridview与detailview的双表嵌套. 这个不是什么C#的问题,C#只是如何开发的,你先要搞清楚进销存的流程,这个是非常重要的。确立好流程后,就着手如何设计数据库表,就是设计多少个表来实现超市的流程,比如销售表,在超市里,一般是POS扫描销售的,就要涉及到销售表的主从表了。确定了主从表后,就要确定字段,因为字段的确定与以后的报表的查询有相当大的关系的。销售表的主表的字段有:id(唯一内部id)、code(单据的编号,也称流水号)、listdate(单据的日期,也是制单日期,客户id(与客户资料的id关联),备注;从表的字段有:id(唯一内部id)、id1(与主表的id关联)、商品id、数量、单价、备注。这只是其中的一对主从表,然后才用C#开发界面,与后台数据库关联起来的。至于进销存的流程,可参看:http://blog.csdn.net/fstao/archive/2008/02/12/2089163.aspx 急,有关using引用的 c# 滚动条 样式——分全部献上 c#桌面程序winform如何调调用Google网络翻译API 在线等 大家帮忙 最近对单元测试工具TestDriven.NET-2.0挺感兴趣,不过出现了一些问题 vs2003如何序列化/反序列化时如何序列化arraylist属性? winfrom中的tabControl控件问题? 多窗口活动的问题 如何修改DataSet内的值 怎么限制TextBox控件的输入类型 调用c++Dll函数,如何生成参数(C#) [提问]关于 MOSS 2007 的开发环境搭建
销售表:商品ID 销售数量 销售时间
二表间用商品ID链接,我这只是一个简单的例子.
子表字段有:ID,MainID(它和主表的MainID字段关联),产品编号,数量,单价,金额产品表其实也是要有的,比如让用户选择产品时可以看到产品的编号和规格型号等属性在C#里实现的话,就是表头和表体表头即要保存到主表的内容,如:客户名称或编号,销售日期,制单人,审核人表体即要保存到子表的内容,如:MainID(它和主表的MainID字段关联),产品编号,数量,单价,金额表头和表体的数据表是一对多的关系,即一个客户可能同时购买多个不同的产品你明白了吗?
sql = "insert into RdRecord (cCode,dDate,cRdCode,cWhCode,cDepCode,cMemo) values('" + txtcCode.Text + "','" + txtdDate.Text + "','" + txtcRdCode.Tag + "','" + txtcWhCode.Tag + "','" + txtcDepCode.Tag + "','" + txtcMemo.Text + "')";
dc.UpdateObject(sql); string MainID = dc.GetOne("select ID from RdRecord where cCode='" + txtcCode.Text + "'").ToString();//循环表体,保存子表的多个产品
for (int i = 1; i < c1FG.Rows.Count; i++)
{
if (c1FG[i, 1] != null && c1FG[i, 5] != null)
{
sql = "insert into RdRecords(ID,cCode,cInvCode,iQuantity,iUnitCost) values(" + MainID + ",'" + txtcCode.Text + "','" + c1FG[i, 1].ToString() + "'," + c1FG[i, 5].ToString() + "," + c1FG[i, 6].ToString() + ")";
dc.UpdateObject(sql); }
}
销售明细表: 单号,商品ID,单位数量,销售价
两者用单号关联,单号一般是流水号,例如:200902030001
商品表:商品ID,成本价,库存数(也可分成:实际库存、潜在库存等)
-------------------------------------------------------
Summary
销售发票主表Re
销售及应收用专用发票、普通发票、零售日报、销售调拨单、期初发票Columns
Column Name Description Datatype Length Allow Nulls
SBVID 销售发票主表标识 int 4 False
cSBVCode 销售发票号 varchar 30 True
cVouchType 发票类型 varchar 2 False
cSTCode 销售类型编码 varchar 2 True
dDate 单据日期 datetime 8 False
cSaleOut 出库单据号字符串 varchar 255 True
cRdCode 收发类别编码 varchar 5 True
cDepCode 部门编码 varchar 12 False
cPersonCode 业务员编码 varchar 20 True
cSOCode 销售订单号 varchar 30 True
cCusCode 客户编码 varchar 20 True
cPayCode 付款条件编码 varchar 3 True
cexch_name 币种名称 varchar 8 False
cMemo 备注 varchar 60 True
iExchRate 汇率 float 8 True
iTaxRate 表头税率 float 8 True
bReturnFlag 退货标志 bit 1 False
cBCode 银行编码 varchar 3 True
cBillVer 发票版别 varchar 2 True
cMaker 制单人 varchar 20 True
cInvalider 作废人 varchar 20 True
cVerifier 审核人 varchar 20 True
cBusType 业务类型 varchar 8 True
bFirst 应收期初标志 bit 1 False
citem_class 项目大类编码 varchar 2 True
citemcode 项目编码 varchar 20 True
cHeadCode 科目编码 varchar 15 True
cDefine1 自定义项1 varchar 20 True
cDefine2 自定义项2 varchar 20 True
cDefine3 自定义项3 varchar 20 True
cDefine4 自定义项4 datetime 8 True
cDefine5 自定义项5 int 4 True
cDefine6 自定义项6 datetime 8 True
cDefine7 自定义项7 float 8 True
cDefine8 自定义项8 varchar 4 True
cDefine9 自定义项9 varchar 8 True
cDefine10 自定义项10 varchar 60 True
bPayMent 现付现结标志 varchar 20 True
iDisp 是否先发货 smallint 2 True
cCusName 客户名称 varchar 120 True
cDLCode 发货退货单号 varchar 255 True
cAccounter 记账人 varchar 20 True
cChecker 复核人 varchar 20 True
iVTid 单据模版号 int 4 False
bIAFirst 存货期初标志 bit 1 True
ufts 时间戳 timestamp 8 True
cCreChpName 信用审核人 varchar 20 True
cInfoTypeCode 金税对应发票号 varchar 20 True
cSource 单据来源 varchar 4 True
cDefine11 自定义项11 varchar 120 True
cDefine12 自定义项12 varchar 120 True
cDefine13 自定义项13 varchar 120 True
cDefine14 自定义项14 varchar 120 True
cDefine15 自定义项15 int 4 True
cDefine16 自定义项16 float 8 True
cSCCode 发运方式 varchar 2 True
cShipAddress 发货地址 varchar 200 True
----------------------------------------
Summary
销售发票子表Re
销售及应收用专用发票、普通发票、零售日报、销售调拨单、期初发票Columns
Column Name Description Datatype Length Allow Nulls
SBVID 销售发票主表标识 int 4 False
AutoID 销售发票子表标识 int 4 False
cWhCode 仓库编码 varchar 10 True
cInvCode 存货编码 varchar 20 False
iQuantity 数量 float 8 True
iNum 辅计量数量 float 8 True
iQuotedPrice 报价 float 8 True
iUnitPrice 原币无税单价 float 8 True
iTaxUnitPrice 原币含税单价 float 8 True
iMoney 原币无税金额 money 8 True
iTax 原币税额 money 8 True
iSum 原币价税合计 money 8 True
iDisCount 原币折扣额 money 8 True
iNatUnitPrice 本币无税单价 float 8 True
iNatMoney 本币无税金额 money 8 True
iNatTax 本币税额 money 8 True
iNatSum 本币价税合计 money 8 True
iNatDisCount 本币折扣额 money 8 True
iSBVID 原销售发票主表标识 int 4 True
iMoneySum 累计本币收款金额 float 8 True
iExchSum 累计原币收款金额 float 8 True
cClue 凭证线索号 varchar 30 True
cIncomeSub 销售收入科目编码 varchar 15 True
cTaxSub 销售税金科目编码 varchar 15 True
dSignDate 凭证日期 datetime 8 True
cMemo 备注 varchar 60 True
iBatch 批次 int 4 True
cBatch 批号 varchar 20 True
bSettleAll 结算标志 bit 1 True
cFree1 存货自由项1 varchar 20 True
cFree2 存货自由项2 varchar 20 True
RdsID 收发记录子表标识 int 4 True
iTB 退补标志 tinyint 1 True
dvDate 失效日期 datetime 8 True
TBQuantity 退补数量 real 4 True
TBNum 退补辅计量数量 real 4 True
iSOsID 销售订单子表标识 int 4 True
iDLsID 发货退货单子表标识 int 4 True
KL 扣率 float 8 True
KL2 二次扣率 float 8 True
cInvName 存货名称 varchar 60 True
iTaxRate 税率 float 8 True
cDefine22 表体自定义项22 varchar 60 True
cDefine23 表体自定义项23 varchar 60 True
cDefine24 表体自定义项24 varchar 60 True
cDefine25 表体自定义项25 varchar 60 True
cDefine26 表体自定义项26 float 8 True
cDefine27 表体自定义项27 float 8 True
fOutQuantity 累计出库数量 float 8 True
fOutNum 累计出库辅计量数量 float 8 True
cItemCode 项目编码 varchar 20 True
cItem_class 项目大类编码 varchar 10 True
fSaleCost 零售单价 float 8 True
fSalePrice 零售金额 float 8 True
cItemName 项目名称 varchar 60 True
cItem_CName 项目大类名称 varchar 20 True
cFree3 存货自由项3 varchar 20 True
cFree4 存货自由项4 varchar 20 True
cFree5 存货自由项5 varchar 20 True
cFree6 存货自由项6 varchar 20 True
cFree7 存货自由项7 varchar 20 True
cFree8 存货自由项8 varchar 20 True
cFree9 存货自由项9 varchar 20 True
cFree10 存货自由项10 varchar 20 True
iInvExchRate 换算率 userdecimal 13 True
cUnitID 计量单位编码 varchar 10 True
cDefine28 表体自定义项28 varchar 120 True
cDefine29 表体自定义项29 varchar 120 True
cDefine30 表体自定义项30 varchar 120 True
cDefine31 表体自定义项31 varchar 120 True
cDefine32 表体自定义项32 varchar 120 True
cDefine33 表体自定义项33 varchar 120 True
cDefine34 表体自定义项34 int 4 True
cDefine35 表体自定义项35 int 4 True
cDefine36 表体自定义项36 datetime 8 True
cDefine37 表体自定义项37 datetime 8 True
dMDate 生产日期 datetime 8 True
iPBVsID 采购发票子表标识 int 4 True
cCode 入库单据号 varchar 30 True
cSoCode 销售订单号 varchar 30 True
bgsp 质检标记 bit 1 True
iPPartSeqID PTO母件顺序号 int 4 True
iPPartID 母件物料ID int 4 True
iPPartQty 母件数量 userdecimal 13 True
cContractID 合同号 varchar 64 True
cContractTagCode 合同标的 varchar 64 True
cContractRowGuid 合同cGuid uniqueidentifier 16 True
iMassDate 保质期 int 4 True
cMassUnit 保质期单位 smallint 2 True
bQANeedCheck 是否质检 bit 1 False
bQAUrgency 是否急料 bit 1 False
cCusInvCode 客户存货编码 varchar 40 True
cCusInvName 客户存货名称 varchar 100 True
gridview与detailview的双表嵌套.