网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.走出abstract class与interface的.
.JDBC2.0扩展API(4).
.MC4J远程监测Tomcat集群-JMX助To.
.Java认证经典模拟题.
.Java 数据库连接驱动程序类.
.三步学会Java Socket编程.
.JAR文件包及jar命令详解.
.Jbuilder9+Weblogic8.1安装配置.
.编程修养.
.html-Cancel标签应用注意事项篇.
.处理链处理WEB服务中的请求/响应.
.用XSLT和XML改进Struts.
.Java程序设计的基本结构.
.applet 的参数化 -- 对数组进行初.
.诺基亚亲密接触Eclipse 深化开源.
.SQRT2 属性.
.java指南之使用图形:使用原始图.
.Eclipse 插件功能研究.
.Struts的<logic:iterate>标.
.in 运算符.

在java 中执行触发器代码、创表语句

发表日期:2008-6-23


    由于程序的需要,在SQLServer 中创建触发器及建表,碰到了在java 代码中执行创建触发器及表。

    /**建立中间表*/

    public static final String

            createMiddleTableSQL =

            "CREATE TABLE [dbo].[AlarmsMiddleTbl] ( "

            + " [id] [int] NOT NULL  , "

            + " [DeviceID] [smallint] NULL , "

            + " [Aid] [char] (10) COLLATE Chinese_PRC_BIN NULL , "

            + " [BeginTime] [datetime] NULL , "

            + " [EndTime] [datetime] NULL , "

            + " [Severity] [char] (2) COLLATE Chinese_PRC_BIN NULL , "

            + " [CondType] [char] (25) COLLATE Chinese_PRC_BIN NULL , "

            + " [DetailID] [smallint] NULL , "

            +

            " [AckNotes] [char] (150) COLLATE Chinese_PRC_BIN NULL , "

            +

            " [Description] [char] (255) COLLATE Chinese_PRC_BIN NULL , "

            +

            " [Systemtimes] [char] (30) COLLATE Chinese_PRC_BIN NULL "

            + ") ON [PRIMARY] ";

 

 

    /**在告警表上创建触发器*/

    public static final String createMiddleTblTriggerSQL =

            "CREATE   TRIGGER t_alarms "

            + "ON [NTBW].[dbo].[Alarms] "

            + "FOR INSERT, UPDATE "

            + "AS "

            + "DECLARE  @rows int "

            + "SELECT @rows =  @@rowcount "

            + "IF @rows = 0 "

            + "  return "

            +

            "IF EXISTS(SELECT 1 FROM inserted) AND NOT EXISTS(SELECT 1 FROM deleted) "

            + "BEGIN "

            + "  INSERT INTO [NTBW].[dbo].[AlarmsMiddleTbl] "

            + "  SELECT i.[id], i.[DeviceID], i.[Aid], i.[BeginTime], "

            +

            "  i.[EndTime], i.[Severity], i.[CondType], i.[DetailID], i.[AckNotes], "

            + "  i.[Description], getdate() from inserted i "

            + "END "

            +

            "IF EXISTS(SELECT 1 FROM inserted) AND EXISTS(SELECT 1 FROM deleted) AND "

            + " UPDATE(EndTime) "

            + "BEGIN "

            + "  INSERT INTO [NTBW].[dbo].[AlarmsMiddleTbl] "

            + "  SELECT i.[id], i.[DeviceID], i.[Aid], i.[BeginTime], "

            +

            "  i.[EndTime], i.[Severity], i.[CondType], i.[DetailID], i.[AckNotes], "

            + "  i.[Description], getdate() from inserted i "

            + "END "

            + "IF @@error <> 0 "

            + "BEGIN "

            + "  RAISERROR('ERROR',16,1) "

            + "  rollback transaction "

            + "  return "

            + "END ";

 

 

 

 

 

JAVA中执行以上语句过程:

view plaincopy to clipboardprint?
/** 
 
 * 创建中间表或者触发器 
 
 * 
 
 * @param sql String 
 
 * @return boolean 返回语句执行结果,true 成功,false 失败 
 
 */ 
 
private boolean createTableOrTrigger(String sql)  
 
{  
 
    Connection con = null;  
 
    PreparedStatement st = null;  
 
    boolean result = false;  
 
    try 
 
    {  
 
        con = dbh.getConnection();  
 
        st = con.prepareStatement(sql);  
 
        st.execute();  
 
        result = true;  
 
        dbh.closeConnections(null, st, con);  
 
    }  
 
    catch (SQLException ex)  
 
    {  
 
        Log.error("Unable to create :" +  
 
                  sql + " ,ErrorCode :" + ex.getErrorCode() +  
 
                  ",Exception :" +  
 
                  ex.getLocalizedMessage());  
 
        dbh.closeConnections(null, st, con);  
 
    }  
 
 
 
    return result;  
 

上一篇:JDBC 连接MySQL 问题 人气:2296
下一篇:基于Java线程实现后台定时监控 人气:1996
浏览全部java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐