sqlserver数据库中某个表写了一个触发器:
USE [MNRYMAS] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER TRIGGER [dbo].[tritest] ON [dbo].[Equip_LAirCompressor] after insert AS BEGIN declare @newID varchar(50),@Result varchar(100) select @newID=ID from inserted set @Result = 'D:\Debug\Test_GetData.exe "'+@newID+'"' EXEC master..xp_cmdshell @Result SET NOCOUNT ON; END
该触发器是数据库添加数据时调用一个外部的exe(控制台应用程序)。传入参数就是当前插入数据的id。控制台应用程序根绝这个id去查询这条插入的数据进行操作。
具体得查询方式如下:
但是,当把ID当参数传入应用程序时,直接到
SqlDataReader read = cmd.ExecuteReader(); 这句就会报错,错误:Timeout expired.
如果按照上面ID的注释方式传入(
string ID = "151055";),直接在程序中吧参数写入进行测试的话,就没有问题。
崩溃了,就是一个是传入的,一个是写死的,传入就不行呢?
参数是可以传进去的。
红糖糍粑
相关分类