加载中…
个人资料
林然
林然
  • 博客等级:
  • 博客积分:0
  • 博客访问:61,941
  • 关注人气:15
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
博文
分类: web杂谈
参考文献:http://blog.csdn.net/ziruobing/article/details/3919501
   log4j是一个优秀的开源日志记录项目,我们不仅可以对输出的日志的格式自定义,还可以自己定义日志输出的目的地,比如:屏幕,文本文件,数据 库,甚至能通过socket输出。本节主要讲述如何将日志信息输入到数据库(可以插入任何数据库,在此主要以MSSQL为例进行详解)。
用 log4j将日志写入数据库主要用到是log4j包下的JDBCAppender类,它提供了将日志信息异步写入数据的功能,我们可以直接使用这个类将我 们的日志信息写入数据库;也可以扩展JDBCAppender类,就是将JDBCAppender类作为基类。下面将通过一个实例来讲解log4j是如何 将日志信息写入数据库的。
我们的需求:我们在软件开发的过程中需要将调试信息、操作信息等记录下来,以便后面的审计,这些日志信息包括用户ID、用户姓名、操作类、路径、方法、操作时间、日志信息。
设 计思想:我们采用JDBCAppender类直接将日志信息插入数据库,所有只需要在配置文件配置此类就可以;要获得用户信息需要用过滤器来实现;(假如 不需要用户的信息,就不需要设计过滤器,其实大部分情况下都是需要这些用户信息,尤其是
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2013-03-20 16:13)
标签:

sql

时间

循环

存储过程

分类: 数据库知识

 某些业务,需要计算某一段时间内的统计值,列如查询2013年一整年,每月的产值状况;如果,某个月都进行一次调用存储过程或者sql,那毕竟太费事;因此,我们可以在存储过程中,对时间进行循环,如此,就方便许多;在此之前,最好先了解一些sql的时间函数:

    通过存储过程,实现时间循环统计

  declare @startime varchar(30),---开始时间
   declare @endtime varchar(30)---结束时间

   declare @temp_time varchar(30)--暂存改变后的时间

   declare @count int --循环控制值
   declare @countsum int--起始时间之间的时间差(以天为单位)
   set @count=1
   set @countsum=datediff(day,@startime,@endtime)
   while @count<<A href='mailto:=@countsum'>=@countsum

      begin

         ............进行业务处理

       set @temp_time=dateadd(day,1

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

sql

列字段

拼接

分类: 数据库知识
    在sql查询中,有时候会想要把一列的多个结果字段值放在一个字段中,那么现在就使用下面的语句,就能完成:
     select 字段 +',' from table for xml path('')
注解:字段:要查询的字段值
       ‘,’:区分字段值的连接符;
        table:表名
 列如,查询a表memo字段值
a表:   id      memeo
             我们
             
              是好孩子
运用 select memo +'//' from a for xml path('')
得到的结果为:我们//都//是好孩子
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

sqlserver

in

数组参数

杂谈

分类: 数据库知识

     最近开发过程中,经常要向sql中传入一段带逗号的字符串为参数,例如:select a.* from a where a.id in(1,2,3,4,5,6);如果我们传入的参数是一个字符串,那么sqlserver则会报错,因为sqlserver中会自动将这个字符串两头加上一个单引号''',例如'1,2,3,4,5,6',所以我们想要查询的结果集当然为空;今天,突然想到一个解决的方案,就是拼接sql,虽然是很老套的方法,但是能解决这个问题我还是很开心的;

     方法如下:

       public void test(int[] aaa)

    {

       String sql='SELECT MT.* from MANU_TASKINFO MT  where MT.TASK_ID in (';

       for(int m=0;m
      {
         sql=sql+aaa[m]+',';
      }
      sql=sql+aaa[aaa.length-1]+')';//这是整形数组最后一个值,要加反括号,构成完成的sql语句,

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

sqlserver

查询条件

单引号

杂谈

分类: 数据库知识

           在开发过程中,频繁的与数据库打交道;今天,遇见查询条件中含有单引号,这样程序就会报错;在网上找了很多资料,大致归纳为三种:

          第一种、1,用函数把'换成'',就是.Replace(''', '''');

          第二种、利用转义字符处理SQL语句。下面的函数可以在执行SQL语句前调用,执行处理后的结果即可产生正确的结果。(这种方法我也没看明白。。。。) 
           Function ProcessStr(str As String)
              Dim pos As Integer
              Dim stedest As String
              pos = InStr(str, ''')
  
    &

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

html

表格

边框

属性值

杂谈

分类: 网页设计相关知识(jsp、html)
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
博文
更多>>

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有