 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
goto-dream
註冊時間: 2004-05-11 文章: 909
第 1 樓
|
|
回頂端 |
|
 |
garfield Site Admin

註冊時間: 2003-01-30 文章: 2160
第 2 樓
|
發表於: 星期三 四月 29, 2009 12:15 pm 文章主題: |
|
|
先用一個變數來記憶 sqlcommand
再將變數當成 SQLEXEC() 參數即可 _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
 |
goto-dream
註冊時間: 2004-05-11 文章: 909
第 3 樓
|
發表於: 星期三 五月 06, 2009 11:23 am 文章主題: |
|
|
代碼: | For ncount2 = 1 To gndbcnumber2
If Upper(Right(gadatabase2(ncount2,1) ,3))="SQL"
lc_file=gc_SYSPATH+"temp\sql\"+gadatabase2(ncount2,1)
Set Textmerge On
TEXT to cCmd noshow
<<Upper(FileToStr(lc_file))>>
ENDTEXT
Thisform.x_show("正在執行SQL-SCRIPT文件:"+gadatabase2(ncount2,1),4)
_Cliptext = cCmd
llOK = gvSQLExe(nHandle,cCmd,"")
If !llOK
llOK2 = .F.
Thisform.x_show("執行SQL-Script文件:"+gadatabase2(ncount2,1)+",失敗",4)
Exit
Endif
Endif
Next |
cCmd是讀取
SQL SCRIPT 所以會超過255
目前還未解決問題?!? _________________ 福隆昌淨水有限公司--淨水器的專家,淨水器,飲水機,濾心!!
想了解更多,您可上幸福雞湯組.找尋!!丁澐瑄.老師.
愛作夢 |
|
回頂端 |
|
 |
goto-dream
註冊時間: 2004-05-11 文章: 909
第 4 樓
|
發表於: 星期三 五月 06, 2009 11:24 am 文章主題: |
|
|
底下範例
這已經超過255了
代碼: | CREATE TRIGGER [ImportDetail_Insert] ON dbo.ImportDetail
FOR INSERT
AS
DECLARE @nQty1 Numeric(20,4) /*進貨數量*/
DECLARE @nQty Numeric(20,4) /*庫存量*/
DECLARE @Pdt_NO CHAR(12) /*產品編號*/
DECLARE @nCost1 Numeric(20,4) /*進貨價格*/
DECLARE @nCost Numeric(20,4) /*庫存成本*/
IF @@ROWCOUNT=0 RETURN /*更動資料?*/
/*取得資料*/
SELECT @Pdt_NO=Pdt_No FROM inserted
SELECT @nQty1=Imd_Qty FROM inserted
SELECT @nCost1=Imd_Price FROM inserted
SELECT @nQty=Pdt_NowQty FROM Product WHERE Pdt_No=@Pdt_NO
SELECT @nCost=Pdt_Cost FROM Product WHERE Pdt_No=@Pdt_NO
/*更新庫存數量*/
UPDATE Product SET Pdt_NowQty=@nQty+@nQty1,Pdt_Cost=(@nCost*@nQty+@nCost1*@nQty1)/(@nQty+@nQty1)
WHERE Pdt_No=@Pdt_NO
GO
CREATE TRIGGER [ImportDetail_Delete] ON dbo.ImportDetail
FOR DELETE
AS
DECLARE @nQty1 Numeric(20,4) /*進貨數量*/
DECLARE @nQty Numeric(20,4) /*庫存量*/
DECLARE @Pdt_NO CHAR(12) /*產品編號*/
DECLARE @nCost1 Numeric(20,4) /*進貨價格*/
DECLARE @nCost Numeric(20,4) /*庫存成本*/
IF @@ROWCOUNT=0 RETURN /*更動資料?*/
/*取得資料*/
SELECT @Pdt_NO=Pdt_No FROM deleted
SELECT @nQty1=Imd_Qty FROM deleted
SELECT @nCost1=Imd_Price FROM deleted
SELECT @nQty=Pdt_NowQty FROM Product WHERE Pdt_No=@Pdt_NO
SELECT @nCost=Pdt_Cost FROM Product WHERE Pdt_No=@Pdt_NO
/*更新庫存數量*/
UPDATE Product SET Pdt_NowQty=@nQty-@nQty1 WHERE Pdt_No=@Pdt_NO
IF (@nQty-@nQty1)<>0
UPDATE Product SET Pdt_Cost=(@nCost*@nQty-@nCost1*@nQty1)/(@nQty-@nQty1)
WHERE Pdt_No=@Pdt_NO
GO
CREATE TRIGGER [ImportDetail_Update] ON dbo.ImportDetail
FOR UPDATE
AS
DECLARE @nQty1 Numeric(20,4) /*進貨數量*/
DECLARE @nQty Numeric(20,4) /*庫存量*/
DECLARE @Pdt_NO CHAR(12) /*產品編號*/
DECLARE @nCost1 Numeric(20,4) /*進貨價格*/
DECLARE @nCost Numeric(20,4) /*庫存成本*/
IF @@ROWCOUNT=0 RETURN /*更動資料?*/
/********************************************************************************************************/
/*取得資料*/
SELECT @Pdt_NO=Pdt_No FROM deleted
SELECT @nQty1=Imd_Qty FROM deleted
SELECT @nCost1=Imd_Price FROM deleted
SELECT @nQty=Pdt_NowQty FROM Product WHERE Pdt_No=@Pdt_NO
SELECT @nCost=Pdt_Cost FROM Product WHERE Pdt_No=@Pdt_NO
/*更新庫存數量*/
UPDATE Product SET Pdt_NowQty=@nQty-@nQty1 WHERE Pdt_No=@Pdt_NO
IF (@nQty-@nQty1)<>0
UPDATE Product SET Pdt_Cost=(@nCost*@nQty-@nCost1*@nQty1)/(@nQty-@nQty1)
WHERE Pdt_No=@Pdt_NO
/*********************************************************************************************************/
/*取得資料*/
SELECT @Pdt_NO=Pdt_No FROM inserted
SELECT @nQty1=Imd_Qty FROM inserted
SELECT @nCost1=Imd_Price FROM inserted
SELECT @nQty=Pdt_NowQty FROM Product WHERE Pdt_No=@Pdt_NO
SELECT @nCost=Pdt_Cost FROM Product WHERE Pdt_No=@Pdt_NO
/*更新庫存數量*/
UPDATE Product SET Pdt_NowQty=@nQty+@nQty1 ,Pdt_Cost=(@nCost*@nQty+@nCost1*@nQty1)/(@nQty+@nQty1)
WHERE Pdt_No=@Pdt_NO
GO
COMMIT
|
_________________ 福隆昌淨水有限公司--淨水器的專家,淨水器,飲水機,濾心!!
想了解更多,您可上幸福雞湯組.找尋!!丁澐瑄.老師.
愛作夢 |
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|