2007/03/27 @ 15:41
今天在网上逛的时候,看到一段识别java注释代码的自动机,所以跟大家分享!(因为链接地址不记得了,所以涉及版权问题请与我联系)
class CommentAutoMata{
final int start=0;
final int one=1;
final int two=2;
final int three=3;
final int finalState=4;
final int five=5;
final int six=6;
public List getCommentList(String s){
ArrayList ret=new ArrayList();
int begin=-1;
int curState=start;
for(int i=0;i<s.length();i++){
char c=s.charAt(i);
switch(curState){
case(start):
if(c=='/'){
begin=i;
curState=one;
}
else if(c=='"'){
//识别字符出
curState=5;
}
break;
case(one):
if(c=='*') curState=two;
else curState=start;
break;
case(two):
if(c=='*') curState=three;
break;
case(three):
if(c=='/'){
curState=finalState;
//eat
ret.add(s.substring(begin,i+1));
//reset;
curState=start;
begin=-1;
}
else curState=two;
break;
case(five):
if(c=='"') curState=start;
else if(c=='\\')curState=six;
break;
case(six):
curState=five;
break;
}
}
return ret;
}
}
class CommentAutoMata{
final int start=0;
final int one=1;
final int two=2;
final int three=3;
final int finalState=4;
final int five=5;
final int six=6;
public List getCommentList(String s){
ArrayList ret=new ArrayList();
int begin=-1;
int curState=start;
for(int i=0;i<s.length();i++){
char c=s.charAt(i);
switch(curState){
case(start):
if(c=='/'){
begin=i;
curState=one;
}
else if(c=='"'){
//识别字符出
curState=5;
}
break;
case(one):
if(c=='*') curState=two;
else curState=start;
break;
case(two):
if(c=='*') curState=three;
break;
case(three):
if(c=='/'){
curState=finalState;
//eat
ret.add(s.substring(begin,i+1));
//reset;
curState=start;
begin=-1;
}
else curState=two;
break;
case(five):
if(c=='"') curState=start;
else if(c=='\\')curState=six;
break;
case(six):
curState=five;
break;
}
}
return ret;
}
}
2007/03/27 @ 15:23
CREATE Procedure prGetRecordByPage
(
@PageSize int, --每页的记录条数
@PageNumber int, --当前页面
@QuerySql varchar(1000),--部分查询字符串,如* From Test order by id desc
@KeyField varchar(500)
)
AS
Begin
Declare @SqlTable AS varchar(1000)
Declare @SqlText AS Varchar(1000)
Set @SqlTable='Select Top '+CAST(@PageNumber*@PageSize AS varchar(30))+' '+@QuerySql
Set @SqlText='Select Top '+Cast(@PageSize AS varchar(30))+' * From '
+'('+@SqlTable+') As TembTbA '
+'Where '+@KeyField+' Not In (Select Top '+CAST((@PageNumber-1)*@PageSize AS varchar(30))+' '+@KeyField+' From '
+'('+@SqlTable+') AS TempTbB)'
Exec(@SqlText)
End
GO
2007/03/27 @ 15:22
好久没有用了的东西,今天有朋友问了,所以贴出来给大家参考参考。。。欢迎指正!
前提:知道sa的密码,知道远程数据库的ip (自己的机子就不要说了吧。。)
首先,利用查询分析器连接到远程的数据库,然后选择master数据库(这个很重要,因为要用到master库里面的扩展过程xp_cmdshell ),然后运行下面的语句
xp_cmdshell 'net use \\备份文件存放机器ip\备份文件存放目录(必须设置为共享,而且是可写的) 备份文件存放机器密码 /user:备份文件存放机器域名\备份文件存放机器名'
backup database 需要备份的数据库 to disk='\\备份文件存放机器ip\备份文件存放目录\db.bak'
restore database 需要还原的数据库 from disk='\\备份文件存放机器ip\备份文件存放目录\db.bak'
第一句的作用是建立可信任连接
第一句的作用是备份数据库
第一句的作用是还原数据库
完成! :)
前提:知道sa的密码,知道远程数据库的ip (自己的机子就不要说了吧。。)
首先,利用查询分析器连接到远程的数据库,然后选择master数据库(这个很重要,因为要用到master库里面的扩展过程xp_cmdshell ),然后运行下面的语句
xp_cmdshell 'net use \\备份文件存放机器ip\备份文件存放目录(必须设置为共享,而且是可写的) 备份文件存放机器密码 /user:备份文件存放机器域名\备份文件存放机器名'
backup database 需要备份的数据库 to disk='\\备份文件存放机器ip\备份文件存放目录\db.bak'
restore database 需要还原的数据库 from disk='\\备份文件存放机器ip\备份文件存放目录\db.bak'
第一句的作用是建立可信任连接
第一句的作用是备份数据库
第一句的作用是还原数据库
完成! :)






