IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[tg_Project]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1)
DROP TRIGGER [dbo].[tg_Project] --项目
GO
CREATE TRIGGER [dbo].[tg_Project]
ON [dbo].[Project]
FOR INSERT, UPDATE, DELETE
AS
SET NOCOUNT ON;
DECLARE @PJ_RowID UNIQUEIDENTIFIER
, @Action nvarchar(10);
IF EXISTS (SELECT 1 FROM INSERTED) AND NOT EXISTS (SELECT 1 FROM deleted)
SET @Action = N'Insert';
ELSE IF EXISTS (SELECT 1 FROM INSERTED) AND EXISTS (SELECT 1 FROM deleted)
SET @Action = N'Update';
ELSE
SET @Action = N'Delete';
IF @Action = N'Insert'
BEGIN
DECLARE cur_new CURSOR LOCAL FAST_FORWARD
FOR
SELECT PJ_RowID
FROM INSERTED;
OPEN cur_new;
FETCH NEXT FROM cur_new INTO @PJ_RowID;
WHILE @@FETCH_STATUS = 0
BEGIN
--设置步骤
IF EXISTS (Select 1 From dbo.Project Where PJ_RowID = @PJ_RowID AND Step = 0)
UPDATE dbo.Project
SET Step = 10
Where PJ_RowID = @PJ_RowID;
--添加日志
Insert Into dbo.ProjectLog(
PL_RowID, PJ_RowID, SR_RowID, TableName, Guid,
Step, SampleID, [Date], Operator, AddDate,
ChineseDescript, EnglishDescript)
SELECT NewID(), PJ_RowID, null, N'Project', PJ_RowID,
10, SampleID, AddDate, AddUser, AddDate,
N'项目创建完成,项目号:' + ProjectID,
N'The project has been created. ProjectID: ' + ProjectID
From dbo.Project
Where PJ_RowID = @PJ_RowID;
FETCH NEXT FROM cur_new INTO @PJ_RowID;
END;
CLOSE cur_new;
DEALLOCATE cur_new;
END
ELSE IF @Action = N'Update'
BEGIN
IF EXISTS
(
SELECT 1
FROM INSERTED i
INNER JOIN dbo.Project p
ON p.PJ_RowID = i.PJ_RowID
INNER JOIN dbo.[Sample] s
ON s.SM_RowID = i.SM_RowID
WHERE CAST(p.[description] AS NVARCHAR) != CAST(s.[Description] AS NVARCHAR)
)
UPDATE dbo.[Sample]
SET [Description] = p.[Description]
FROM INSERTED i
INNER JOIN dbo.Project p
ON p.PJ_RowID = i.PJ_RowID
INNER JOIN dbo.[Sample] s
ON s.SM_RowID = i.SM_RowID;
IF EXISTS
(
SELECT 1
FROM INSERTED i
INNER JOIN DELETED d
ON d.PJ_RowID = i.PJ_RowID
WHERE d.Status != i.Status
AND i.Status IN (-1, 1)
AND EXISTS
(
SELECT 1
FROM dbo.Project p
INNER JOIN dbo.[Sample] s
ON s.SM_RowID = p.SM_RowID
AND s.PJ_RowID = p.PJ_RowID
WHERE p.Status = 2
AND s.ParentSampleID = i.SampleID
)
)
UPDATE dbo.SampleRevision
SET Step = i.Step
FROM dbo.Project p
INNER JOIN dbo.[Sample] s
ON s.SM_RowID = p.SM_RowID
AND s.PJ_RowID = p.PJ_RowID
INNER JOIN dbo.SampleRevision sr
ON sr.PJ_RowID = p.PJ_RowID
INNER JOIN INSERTED i
ON i.SampleID = s.ParentSampleID
INNER JOIN DELETED d
ON d.PJ_RowID = i.PJ_RowID
WHERE d.Status != i.Status
AND i.Status IN (-1, 1)
AND p.Status = 2
AND sr.Active = 1;
END
ELSE --Delete
BEGIN
DECLARE cur_new CURSOR LOCAL FAST_FORWARD
FOR
SELECT PJ_RowID
FROM deleted;
OPEN cur_new;
FETCH NEXT FROM cur_new INTO @PJ_RowID;
WHILE @@FETCH_STATUS = 0
BEGIN
--删除样品信息表
IF EXISTS (SELECT 1 FROM dbo.[Sample] WHERE PJ_RowID = @PJ_RowID)
DELETE dbo.[Sample]
WHERE PJ_RowID = @PJ_RowID;
--删除样品图纸表
IF EXISTS
(
SELECT 1
FROM dbo.SampleRevision sr
INNER JOIN dbo.SampleDrawing sdw
ON sdw.SR_RowID = sr.SR_RowID
WHERE sr.PJ_RowID = @PJ_RowID
)
DELETE dbo.SampleDrawing
FROM dbo.SampleDrawing sdw
INNER JOIN dbo.SampleRevision sr
ON sr.SR_RowID = sdw.SR_RowID
WHERE sr.PJ_RowID = @PJ_RowID;
--删除样品版本表
IF EXISTS (SELECT 1 FROM dbo.SampleRevision WHERE PJ_RowID = @PJ_RowID)
DELETE dbo.SampleRevision
WHERE PJ_RowID = @PJ_RowID;
--删除项目日志表
IF EXISTS (SELECT 1 FROM dbo.ProjectLog WHERE PJ_RowID = @PJ_RowID)
DELETE dbo.ProjectLog
WHERE PJ_RowID = @PJ_RowID;
--删除询价单表
IF EXISTS (SELECT 1 FROM dbo.Inquiry WHERE PJ_RowID = @PJ_RowID)
BEGIN
IF EXISTS
(
SELECT 1
FROM dbo.Inquiry iq
WHERE EXISTS
(
SELECT 1
FROM dbo.SampleRevision sr
WHERE sr.InquiryID = iq.InquiryID
AND sr.PJ_RowID != iq.PJ_RowID
AND iq.PJ_RowID = @PJ_RowID
)
)
BEGIN
DECLARE @IQ_RowID UNIQUEIDENTIFIER
, @InquiryID NVARCHAR(20)
, @PJ_RowID_New UNIQUEIDENTIFIER;
DECLARE cur_inquiry CURSOR LOCAL FAST_FORWARD
FOR
SELECT IQ_RowID, InquiryID
FROM dbo.Inquiry iq
WHERE EXISTS
(
SELECT 1
FROM dbo.SampleRevision sr
WHERE sr.InquiryID = iq.InquiryID
AND sr.PJ_RowID != iq.PJ_RowID
AND iq.PJ_RowID = @PJ_RowID
);
OPEN cur_inquiry;
FETCH NEXT FROM cur_inquiry INTO @IQ_RowID, @InquiryID;
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT TOP 1 @PJ_RowID_New = PJ_RowID
FROM dbo.SampleRevision
WHERE InquiryID = @InquiryID
AND PJ_RowID != @PJ_RowID
ORDER BY AddDate;
UPDATE dbo.Inquiry
SET PJ_RowID = @PJ_RowID_New
WHERE IQ_RowID = @IQ_RowID;
FETCH NEXT FROM cur_inquiry INTO @IQ_RowID, @InquiryID;
END
CLOSE cur_inquiry;
DEALLOCATE cur_inquiry;
END;
--删除询价单部件表
IF EXISTS
(
SELECT 1
FROM dbo.InquiryPart ip
INNER JOIN dbo.Inquiry iq
ON iq.IQ_RowID = ip.IQ_RowID
WHERE iq.PJ_RowID = @PJ_RowID
)
DELETE dbo.InquiryPart
FROM dbo.InquiryPart ip
INNER JOIN dbo.Inquiry iq
ON iq.IQ_RowID = ip.IQ_RowID
WHERE iq.PJ_RowID = @PJ_RowID;
DELETE dbo.Inquiry
WHERE PJ_RowID = @PJ_RowID;
END;
FETCH NEXT FROM cur_new INTO @PJ_RowID;
END;
CLOSE cur_new;
DEALLOCATE cur_new;
END;
SET NOCOUNT OFF;
Go
----------------------------------------------------------------------------------------
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[tg_Sample]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1)
DROP TRIGGER [dbo].[tg_Sample] --样品
GO
CREATE TRIGGER [dbo].[tg_Sample]
ON [dbo].[Sample]
FOR INSERT, UPDATE, DELETE
AS
SET NOCOUNT ON;
DECLARE @SM_RowID uniqueidentifier
, @PJ_RowID uniqueidentifier
, @Source NVARCHAR(16)
, @Step INT
, @Action NVARCHAR(10);
IF EXISTS (SELECT 1 FROM INSERTED) AND NOT EXISTS (SELECT 1 FROM DELETED)
SET @Action = N'Insert';
ELSE IF EXISTS (SELECT 1 FROM INSERTED) AND EXISTS (SELECT 1 FROM DELETED)
SET @Action = N'Update';
ELSE
SET @Action = N'Delete';
IF @Action = N'Insert'
BEGIN
DECLARE cur_new CURSOR LOCAL FAST_FORWARD
FOR
SELECT i.SM_RowID, i.PJ_RowID, i.Source
FROM INSERTED i
INNER JOIN dbo.Project p
ON p.SM_RowID = i.SM_RowID;
OPEN cur_new;
FETCH NEXT FROM cur_new INTO @SM_RowID, @PJ_RowID, @Source;
WHILE @@FETCH_STATUS = 0
BEGIN
--设置步骤
IF EXISTS
(
SELECT 1
FROM dbo.Project
WHERE PJ_RowID = @PJ_RowID AND Step = 10
)
BEGIN
UPDATE dbo.Project
SET Step = 15, SM_RowID = @SM_RowID
, Purchased = CASE WHEN @Source = N'Purchased' THEN 1 ELSE 0 END
WHERE PJ_RowID = @PJ_RowID;
--添加日志
INSERT INTO dbo.ProjectLog(
PL_RowID, PJ_RowID, SR_RowID, TableName, Guid,
Step, SampleID, [Date], Operator, AddDate,
ChineseDescript, EnglishDescript)
SELECT
NewID(), PJ_RowID, NULL, N'Sample', @SM_RowID,
15, SampleID, AddDate, AddUser, AddDate,
N'样品基本信息输入完成',
N'Sample information has been inputed.'
FROM dbo.[Sample]
WHERE SM_RowID = @SM_RowID;
END;
FETCH NEXT FROM cur_new INTO @SM_RowID, @PJ_RowID, @Source;
END;
CLOSE cur_new;
DEALLOCATE cur_new;
END
ELSE IF (@Action = N'Update')
BEGIN
DECLARE cur_new CURSOR LOCAL FAST_FORWARD
FOR
SELECT i.SM_RowID, i.PJ_RowID, i.Source
FROM INSERTED i
INNER JOIN DELETED d
ON d.SM_RowID = i.SM_RowID
INNER JOIN dbo.Project p
ON p.SM_RowID = i.SM_RowID
WHERE i.Source != d.Source;
OPEN cur_new;
FETCH NEXT FROM cur_ne
没有合适的资源?快使用搜索试试~ 我知道了~
样品管理系统 C# 2005源码
共615个文件
resx:263个
cs:187个
bmp:143个
4星 · 超过85%的资源 需积分: 9 26 下载量 143 浏览量
2008-03-26
11:09:50
上传
评论
收藏 656KB 7Z 举报
温馨提示
样品管理系统的C# 2005源码 用到DXperience 7.x控件
资源推荐
资源详情
资源评论
收起资源包目录
样品管理系统 C# 2005源码 (615个子文件)
FormReportQuotation.resx.bak 25KB
409_2.bmp 19KB
properties24_h.bmp 2KB
folder_options24_h.bmp 2KB
new_project24_h.bmp 2KB
find_user24a_h.bmp 2KB
preferences24_h.bmp 1KB
budget24_h.bmp 1KB
pricelist24_h.bmp 1KB
ruler24_h.bmp 1KB
Book_StackOfReportsHS.BMP 1KB
CheckGrammarHS.bmp 1KB
graphhs.bmp 1KB
ExpirationHS.bmp 1KB
RefreshDocViewHS.bmp 1KB
eps_open_largelHS.bmp 1KB
HomeHS.bmp 1KB
RighsRestrictedHS.bmp 1KB
PrimaryKeyHS.BMP 1KB
PropertiesHS.BMP 1KB
PageUpHS.bmp 1KB
NewDocumentHS.BMP 1KB
WindowsHS.bmp 1KB
PublishPlanHS.BMP 1KB
TaskHS.bmp 1KB
DoubleRightArrowHS.bmp 1KB
ActualSizeHS.bmp 1KB
Calendar_scheduleHS.bmp 1KB
EditInformationHS.BMP 1KB
EditTableHS.bmp 1KB
news_item24_h.bmp 1020B
web_upload16_h.bmp 984B
play_blue16_h.bmp 980B
new_project16_h.bmp 972B
timesheet16_h.bmp 968B
calculator16_h.bmp 928B
find_user16a_h.bmp 920B
users16_h.bmp 916B
customers16_h.bmp 908B
edit16_h.bmp 880B
calendar16_h.bmp 872B
calendar16_h1.bmp 872B
quotes16_h.bmp 872B
monitor16_h.bmp 856B
news_find16_h.bmp 844B
invoice_incoming_16_h.bmp 844B
preferences16_h.bmp 832B
mail_item16_h.bmp 828B
search16_h.bmp 824B
Critical.bmp 824B
Calendar_schedule.bmp 824B
Help2.bmp 824B
Help.bmp 824B
NoAction.bmp 824B
Disconnected.bmp 824B
save16_h.bmp 824B
news_upload16_h.bmp 824B
appwindow_info_annotation_16.bmp 824B
searchPeople.bmp 824B
print16_h.bmp 824B
Edit_Redo.bmp 824B
Webcontrol_Editorzone.bmp 824B
Paste.bmp 824B
delete16_h.bmp 824B
Serious.bmp 824B
NewMessage.bmp 824B
Help1.bmp 824B
AddTable.bmp 824B
PrintPreview.bmp 824B
DeleteTable.bmp 824B
Send.bmp 824B
properties16_h.bmp 824B
Save.bmp 824B
Output.bmp 824B
Input.bmp 824B
folder_options16_h.bmp 824B
Alert.bmp 824B
home_purple16_h.bmp 824B
VSProject_component.bmp 824B
Webcontrol_CreateUserWizard.bmp 824B
refresh16_h.bmp 824B
SuccessComplete.bmp 824B
OK.bmp 824B
Delete.bmp 824B
VSProject_asa.bmp 824B
mail16_h.bmp 824B
RolledBack.bmp 824B
Attachment.bmp 824B
open16_h.bmp 824B
Edit_Undo.bmp 824B
Pause.bmp 824B
SaveAll.bmp 824B
NewCard.bmp 824B
clock.bmp 824B
Copy.bmp 824B
MonthlyView.bmp 824B
stop16_h.bmp 824B
MultiSelect.bmp 824B
EditInformation.bmp 824B
Search.bmp 824B
共 615 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
资源评论
- gaoxiaolin002014-06-27资源非常不错,对于自学者来说很有价值。
zxkid
- 粉丝: 325
- 资源: 227
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功