set @StateMinuteId=((select isnull(max(StateMinuteid),'1000000000') from TT_StateMinute) +1 ) set @StateMainId=((select isnull(max(StateMainid),'1000000000') from TT_statemain) +1 ) ------添加状态主表begin tran set set nocount on begin set @GroupId=(select group_Id From TT_SUBGROUP where Group_Name=@GroupName) Insert Into TT_StateMain values(@StateMainID,@PeopleID,@RiQi,@GroupId) if @@error <>0 goto error1
end --------添加状态细单 begin set @n=1 while @n <=@count begin
if @@error <>0 goto error2 else goto succ update TT_SendMinute set Sendstate ='02' where SendMinuteid=@SendMinuteiD-----state if @@error <>0 goto error3 set @n =@n +1 end end goto succ
------------------ succ: begin set @re_message='1000001插入状态主表成功' commit transaction goto pover enderror1: begin rollback tran set @re_message ='1000002插入状态主表失败' goto pover end error2: begin RollBack Tran set @re_message ='1000003插入状态细表失败' goto pover endError3: begin rollBack Tran set @re_message ='1000004更新失败 ' goto pover end pover: begin set nocount off end GO
to YANGYUGW(小杨): "时标,每次输入的数据都有一个字段(datetime)作为时标"是什么意思呢?怎么获得最新修改增加的记录呢?是不是用“时标”呢? "你为什么要每次都open close呢,我不明白。"因为每录入一本书就要到服务器器取得本书的信息,然后插入到销售单。用adoquery.open实现查询。open后只是返回查询得到的记录, 并不回增加网络的负担,我是怕频繁查询会不会增加服务器负担呢! to:zhangcy001(凭海风) 所有商品资料下载到本地是不可能的,几十万条记录要很久的!为什么无法断网收银? 结算后就把零售单提交到数据库,同时修改库存。你所说的“而且不稳定”指的是什么呢? thank you for everyone
时标就是数据库表中自己定义的字段 select * from dd where dt>你本地数据库表中最新的时标 那么你每次还需要下载几十万么,难道这几十万都要每天更新一次么。
-----------------配送状态录入表
CREATE PROCEDURE TT_P017@MainBiao Varchar(20), ---是否插入主表记录
@PeopleId varchar(20), --调度人员号
@Groupname varchar(20), --配送组织
@SendMainId varchar(7000) ,-- 送货细单号
@SendMinuteId varchar(7000) ,-- 送货细单号
@GoodsCount varchar(7000), ---送货数量
@ShouldGet varchar(7000), ----应收
@ShouldPay varchar(7000), -----应付
@count int,
@re_String varchar(2) out,
@re_message varchar(100) out,
@re_Sid varchar(14) out
as
declare
@n int,
@StateMainId Varchar(30) , --调度单号
@Smainid varchar(30),
@Sminuteid varchar(30),
@StateMinuteId varchar(30),
@GroupID varchar(20),
@gCount money,
@Get money,
@Pay money,
@day varchar(10),
@RiQi varchar(10)
set @day=(select (convert(varchar(10), GETDATE())) )
set @riqi=(substring(@day,7,10)+'-' +substring(@day,1,2)+'-'+substring(@day,4,5) )
------------------
set @StateMinuteId=((select isnull(max(StateMinuteid),'1000000000') from TT_StateMinute) +1 )
set @StateMainId=((select isnull(max(StateMainid),'1000000000') from TT_statemain) +1 ) ------添加状态主表begin tran
set set nocount on
begin
set @GroupId=(select group_Id From TT_SUBGROUP where Group_Name=@GroupName)
Insert Into TT_StateMain values(@StateMainID,@PeopleID,@RiQi,@GroupId)
if @@error <>0 goto error1
end
--------添加状态细单
begin
set @n=1
while @n <=@count
begin
select @Gcount= convert(money, dbo.gain(@goodscount,@n) ) ,@SMainID=convert (varchar(20), dbo.gain(@SendMainID,@n) ) ,@SMinuteId=dbo.gain(@SendMinuteId,@n) , @get=convert( money,dbo.gain (@ShouldGet,@n) ), @pay=convert(money,dbo.gain(@shouldPay,@n) )
Insert Into TT_StateMinute Values(@StateMinuteId,@StateMainid,@SMainID,@SMinuteId,@GCount,@Get,@Pay)
if @@error <>0 goto error2
else
goto succ update TT_SendMinute set Sendstate ='02' where SendMinuteid=@SendMinuteiD-----state
if @@error <>0 goto error3
set @n =@n +1
end
end
goto succ
------------------
succ:
begin set @re_message='1000001插入状态主表成功'
commit transaction
goto pover
enderror1:
begin
rollback tran
set @re_message ='1000002插入状态主表失败'
goto pover
end
error2:
begin
RollBack Tran
set @re_message ='1000003插入状态细表失败'
goto pover
endError3:
begin
rollBack Tran
set @re_message ='1000004更新失败 '
goto pover
end
pover:
begin
set nocount off
end
GO
1.你可以在窗口打开的时候调用一下CLose,Open
2.你在窗口上加一个“刷新”按钮,随时点随时刷新
3.若客户拿到一个商品,而你这里没有扫出来时,你再点一下“刷新”按钮也不迟的
每次Close,Open只是回传一条或几条记录(存在条形码重复)而已嘛。
一个处理你问题的方法,希望能帮到你,你为什么要每次都open close呢,我不明白。
一个简单方法,时标,每次输入的数据都有一个字段(datetime)作为时标。
在本地建立小型的本地数据库,每次登陆服务器仅仅是获得最新修改增加的记录然后存储在本地小型数据库中,这样应该可以避免的哦。
"时标,每次输入的数据都有一个字段(datetime)作为时标"是什么意思呢?怎么获得最新修改增加的记录呢?是不是用“时标”呢?
"你为什么要每次都open close呢,我不明白。"因为每录入一本书就要到服务器器取得本书的信息,然后插入到销售单。用adoquery.open实现查询。open后只是返回查询得到的记录,
并不回增加网络的负担,我是怕频繁查询会不会增加服务器负担呢!
to:zhangcy001(凭海风)
所有商品资料下载到本地是不可能的,几十万条记录要很久的!为什么无法断网收银?
结算后就把零售单提交到数据库,同时修改库存。你所说的“而且不稳定”指的是什么呢?
thank you for everyone
select * from dd where dt>你本地数据库表中最新的时标
那么你每次还需要下载几十万么,难道这几十万都要每天更新一次么。