当前位置:主页>仓库管理软件> 列表

如何在Delphi中获得SQL server 数据库中的某 找库房管理软件免费版

库存管理软件版1楼: 如题!
如何获取触发器,如果没有触发器就加入触发器,如果有找到触发器就不在加入触发器!!

2楼: 我顶!!! 如服装店库存软件

3楼: 我在顶!!!!

4楼: if not exists(select * from sysobjects where name=''ss_m_del'' and xtype=''TR'')
begin
declare @sql nvarchar(255)
set @sql=''CREATE TRIGGER ss_m_del ON [dbo].[SS_M] ''+ char(13)
set @sql=@sql + ''FOR DELETE ''+ char(13)
set @sql=@sql + ''AS''+ char(13)
set @sql=@sql + '' delete SS_D from SS_D a,deleted b where a.ss_id=b.ss_id''
exec(@sql)
end

5楼: to 刘学军,
我试下,我觉得你的思路很正确,可是好象你的ON后面只指定数据库好象没有指定具体一个表?
先试下,谢谢你~!~!!~~

6楼: to 刘学军,
你的代码不是针对delphi写的,我现在写的时候遇到两个问题:
一:在delphi中,好象不认exists ,也就是你那个上面我不知道怎么修改?
二:我用查询分析器时,我的代码是:
if not exists(select * from sysobjects where name=''trigger_logtb'' and xtype=''TR'')
begin
declare @sql nvarchar(255)
set @sql=''CREATE TRIGGER trigger_logtb ON logtb''+ char(13)
set @sql=@sql + ''FOR insert ''+ char(13)
set @sql=@sql + ''AS''+ char(13)
set @sql=@sql + ''declare @edate char(10)''
set @sql=@sql + ''set @edate=convert(char(10),getdate(),120)''
set @sql=@sql + ''UPDATE sparc SET beactive=''否'' where @edate>''2006-01-06''''
exec(@sql)
end
它会报错:1.''否'' 附近有语法错误和2.''2006'' 附近有语法错误。
如何修改????

我是菜鸟!!

库存管理软件版7楼: 顶!!!!

8楼: 我顶!!!!!!
各位大哥,帮我看下啊!11

9楼: to 刘学军,

我顶~!~!
帮帮小弟呀!

10楼: 顶起!~![:(!]

11楼: 晕
那段代码只是SQL语句,只要SQL语句能正确执行,一般把它做为string付给*.SQL.Text就可以了

12楼: to softecn
我知道那是SQL语句,可是我就在查询分析器里执行时报错,
if not exists(select * from sysobjects where name=''trigger_logtb'' and xtype=''TR'')
begin
declare @sql nvarchar(255)
set @sql=''CREATE TRIGGER trigger_logtb ON logtb''+ char(13)
set @sql=@sql + ''FOR insert ''+ char(13)
set @sql=@sql + ''AS''+ char(13)
set @sql=@sql + ''declare @edate char(10)''
set @sql=@sql + ''set @edate=convert(char(10),getdate(),120)''
set @sql=@sql + ''UPDATE sparc SET beactive=''否'' where @edate>''2006-01-06''''
exec(@sql)
end
这个怎么会报错,1.''否'' 附近有语法错误和2.''2006'' 附近有语法错误。
我不会修改,只要能在SQL执行能通过就可以了!!! 帮我一下 如库房管理软件免费版

13楼: 呵呵,抢分哦,修改成这样,trigger_logtb是你要加的触发器名称,logtb是触发器所在的表
if not exists(select * from sysobjects where name=''trigger_logtb'' and xtype=''TR'')
begin
declare @sql nvarchar(255)
set @sql=''CREATE TRIGGER trigger_logtb ON logtb''+ char(13)
set @sql=@sql + ''FOR insert ''+ char(13)
set @sql=@sql + ''AS''+ char(13)
set @sql=@sql + ''declare @edate char(10)''


set @sql=@sql + ''set @edate=convert(char(10),getdate(),120)''
set @sql=@sql + ''UPDATE sparc SET beactive=''''否'''' where @edate>''''2006-01-06''''''
exec(@sql)
end

库存管理软件版14楼: 哈哈 ,好了,放分!!!

15楼: 多人接受答案了。