以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]针对SQL的表进行Update更改与Insert插入 (http://foxtable.net/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自动增量自动分配比较好,库存报警表中限定仓位和产品唯一性即可。 |