数据库存储系统应用,超市小票系统

Posted 枫炎

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库存储系统应用,超市小票系统相关的知识,希望对你有一定的参考价值。

create database chaoshixiaopiao4
go
use chaoshixiaopiao4
go

--创建供应商的表格
create table gongying
(
gno   int primary key identity(1001,1) not null,--供应商编号
gname varchar(40),              --供应商名称
gdizhi varchar(40)              --供应商地址
)
--插入供应商内容
insert into gongying values(可口可乐公司,美国)
insert into gongying values(绿箭集团,天津)
insert into gongying values(康师傅集团,北京)
insert into gongying values(达利园集团,北京)
insert into gongying values(创达公司,深圳)

--创建超市货架表格
create table huojia
(
hno    int primary key identity(10001,1) not null,--商品编号
hname  varchar(20),                               --商品名称
hjin    decimal(18,2),                            --商品进价                           
hshou   decimal(18,2),                            --商品售价
hshu   int,                                       --商品数量
hgno   int,                                       --商品供应商编号
)
insert into huojia values(可口可乐,2.5,3,20,1001)
insert into huojia values(零度,2,3,20,1001)
insert into huojia values(绿箭口香糖,1,1.5,20,1002)
insert into huojia values(康师傅方便面,3,3.5,20,1003)
insert into huojia values(达利园小面包,5,5.5,20,1004)
insert into huojia values(薯片,3,3.5,20,1005)

--创建小票的表格
create table xiaopiao
(
xno  int primary key identity(1,1),
xhno  int,
xname varchar(20),
xhjia decimal(18,2),
xshu  int,
xzong decimal(18,2)
)

create proc piao1
@shumu int,
@huohao int
as
begin
    declare 
    @count  int,
    @huoshu int,
    @sjia  decimal(18,2),
    @he    decimal(18,2),
    @huoname varchar(20),
    @ci int

  
    select @huoshu=hshu from huojia where hno=@huohao;
    select @count=COUNT(*) from huojia where hno=@huohao; 
    if @count>0   
       begin
           set @ci=@ci+1
           if @shumu>=0
              begin
              update huojia set hshu=(@huoshu+@shumu) where hno=@huohao
              
              select @huoname=hname from huojia where hno=@huohao
              select @sjia=hjin from huojia where hno=@huohao
              set @he=@sjia*@shumu
              insert into xiaopiao values(@huohao,@huoname,@sjia,@shumu,@he)
              select @ci=COUNT(*) from xiaopiao
              select xno as 小票号,xhno as 商品编号,xname as 商品名称,xhjia as 进价,xshu as 数量,xzong as 总价 from xiaopiao
              where xno=@ci
              end
           else
              begin
              set @shumu = -@shumu
              if  @shumu<=@huoshu
                begin
                update huojia set hshu=@huoshu-@shumu where hno=@huohao
                
                select @huoname=hname from huojia where hno=@huohao
                select @sjia=hshou from huojia where hno=@huohao
                set @he=@sjia*@shumu
                insert into xiaopiao values(@huohao,@huoname,@sjia,@shumu,@he)
                select @ci=COUNT(*) from xiaopiao
                select xno as 小票号,xhno as 商品编号,xname as 商品名称,xhjia as 单价,xshu as 数量,xzong as 总价 from xiaopiao
                where xno=@ci
                end
              else
                begin
                
                select 此商品数量不足!
                select hno as 商品编号,hname as 商品名称,hshou as 单价,hshu as 数量 from huojia 
                end
              end
       end
    else
       print 超市无此商品!
  

end
go

exec piao1  -2,10003

exec piao1  -2,10002
exec piao1  -2,10001

select * from xiaopiao

 

以上是关于数据库存储系统应用,超市小票系统的主要内容,如果未能解决你的问题,请参考以下文章

SQL 存储过程 超市小票打印

咏南超市收银系统

C# Winform打印超市小票的代码,在点击收银按钮时,立马自动打印...跪求帮助,高分!

超市/饭店等收据或者小票的生成代码

案例一:打印超市的购物小票

java票据打印,类似于超市的小票那样的,怎么控制打印的纸张大小啊?