以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]针对SQL的表进行Update更改与Insert插入  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=3870)

--  作者:migold
--  发布时间:2009/8/16 10:43:00
--  [求助]针对SQL的表进行Update更改与Insert插入

[求助]如题
 

SQL的表:

1,  product产品表,用的到列:[s_ID],[u_Code]

2,  StorHouse库房表,用的到列:[s_ID]

3,  ProdWar库存报警表,用的到列:[s_ID](不是自动增量型)

[stor_ID](从StorHouse库房表的[s_ID]提取)

[Prod_ID](从product产品表的[s_ID]提取)

[UpperLimit]库存报警上限

[LowLimit]库存报警下限

 

目的:设计一个报警量录入窗口,

所以我是这样想的:狐表的临时表:

1,  新建一个AddWar临时表,用的到列:ProdCode商品编码

WarUpper报警上限,WarLow报警下限

2,  新建一个窗口:有一个ComBox1自动列表,可选择库房表的s_ID

 有一个保存按钮。

 

 

保存按钮代码思路:

针对每一条记录,作出以下动作。

第一步:

查询报警量ID最大值+1,作为插入报警上限与报警下限的扶笔

select max(s_ID)+1 from dbo.ProdWar

 

第二步:

查询产品的ID(条件:产品编号)

select s_ID from dbo.Product where u_Code=\'这里是ProdCode列的值\' and s_Syb=1

 

假设第二步查询的值不为空,才执行第三步:

查询报警ID(条件:库房ID与编号ID)

Select s_ID from ProdWar where stor_ID=\'这里是ComBox1选择的值\' and Prod_ID=\'这里是第二步查询的值\'

 

假设第三步查询的值不为空,才执行第四步:

更改报警上限与报警下限

update ProdWar set UpperLimit=\'这里是WarUpper列的值\',LowLimit=\'这里是WarLow列的值\' where s_ID=\'这里是第三步查询的值\'

 

假设第三步查询的值为空,才执行第五步

插入报警上限与报警下限

insert into ProdWar(s_ID,stor_ID,Prod_ID,UpperLimit,LowLimit)values(\'这里是第一步查询的值\', \'这里是ComBox1选择的值\', 这里是第二步查询的值, \'这里是WarUpper列的值\', \'这里是WarLow列的值\')


求助:保存按钮代码


--  作者:狐狸爸爸
--  发布时间:2009/8/16 11:04:00
--  
SQL我也玩不转,帮你顶
--  作者:migold
--  发布时间:2009/8/16 11:22:00
--  
各位老大有空帮助解决一下,先谢谢!

或者先给个提示,思路之类

或者使用狐表本身的数据录入方式的
--  作者:雪山飞狐
--  发布时间:2009/8/17 23:13:00
--  

其实可以简单化处理,不一定要用SQL的update和insert的方法。考虑到产品表、库房表和库存报警表不会太大,直接利用表加载外部数据源,直接对表操作更简便一些。id号由SQL自动增量自动分配比较好,库存报警表中限定仓位和产品唯一性即可。