首页博客SEMCASE论坛网站地图标签列表

6月 2006   { 按月归档 }

2006-06-28

mssql CONVERT

SELECT CONVERT(VARCHAR(30),GETDATE(),0) 在函数CONVERT()中你可以使用许多种不同风格的日期和时间格式。 下表显示了所有的格式。 日期和时间的类型: 类型值 标准 输出 0 Default mon dd yyyy hh:miAM 1 USA mm/dd/yy 2 ANSI yy.mm.dd 3 British/French dd/mm/yy 4 German dd.mm.yy 5 Italian dd-mm-yy 6 - dd mon yy 7 - mon dd,yy 8 - hh:mi:ss 9 Default + milliseconds–mon dd yyyy hh:mi:ss:mmmAM(or ) 10 USA mm-dd-yy 11 JAPAN yy/mm/dd 12 ISO yymmdd 13 Europe Default + milliseconds–dd mon yyyy hh:mi:ss:mmm(24h) 14 - hh:mi:ss:mmm(24h) 类型0,9,和13总是返回四位的年。 对其它类型,要显示世纪,把style值加上100。 类型13和14返回24小时时钟的时间。 类型0,7,和13返回的月份用三位字符表示(用Nov代表November). 对表中所列的每一种格式,你可以把类型值加上100来显示有世纪的年(例如,00年将显示为2000年)。 例如,要按日本标准显示日期,包括世纪,你应使用如下的语句: SELECT CONVERT(VARCHAR(30),GETDATE(),111) 在这个例子中,函数CONVERT()把日期格式进行转换,显示为1997/11/30 抽取日期和时间 在许多情况下,你也许只想得到日期和时间的一部分,而不是完整的日期和时间。 为了抽取日期的特定部分,你可以使用函数DATEPART(), 象这样: SELECT name, DATEPART(mm,getDate()) as Month FROM table1 函数DATEPART()的参数是两个变量。第一个变量指定要抽取日期的哪一部分;第二个变量是实际的数据。 在这个例子中,函数DATEPART()抽取月份,因为mm代表月份。 函数DATEPART()的返回值是一个整数。你可以用这个函数抽取日期的各个不同部分, 如下表所示。 日期的各部分及其简写 日期部分 简写 值 year yy 1753–9999 quarter qq 1–4 month mm 1–12 day of year dy 1–366 day dd 1–31 week wk 1–53 weekday dw 1–7(Sunday–Saturday) hour hh 0–23 minute mi 0–59 second ss 0–59 milisecond ms 0–999 函数DATENAME()和函数DATEPART()接收同样的参数。 但是,它的返回值是一个字符串,而不是一个整数。 (如: 2 –>February ) 你也可以用函数DATENAE()来抽取一个星期中的某一天。 下面的这个例子同时抽取一周中的某一天和日期中的月份: SELECT name, DATENAME(dw,getDate())+ ‘-’ + DATENAME(mm,getDate()) as dName FORM table1 结果:( Friday - February) 返回日期和时间范围 SELECT * FROM weblog WHERE entrydate>=”12/25/2000” AND entrydate<”12/26/2000” SELECT * FROM weblog WHERE entrydate LIKE ‘Dec 25 2000%’ 比较日期和时间 函数DATEADD()和DATEDIFF(); DATEDIFF(hh,entrydate,GETDATE()) ; DATEADD(mm,1,firstvisit_date)

2006-06-27

Linux常用命令分类汇总

Linux命令的基本格式: command option parameter(object) command就是要执行的操作, option指出怎么执行这个操作,parameter则是要操作的对象。

例如想查看一个目录的内容,“查看”是动作,“目录”是对象,如果加一个“详细”的话,那么“详细”就是选项了。

 #ls -l /root ls: command -l: option /root: parameter 了解了这一点之后,我们即可知道:所有的命令都有其操作对象,也就是说命令的作用范围是有限的;
同是,对于同一种对象,能在其上进行的操作也是特定的。
因此,我们可以根据对象的不同而对Linux中的常用命令进行分类.(没有给出具体的用法,有时间再添加:-) )

目录文件类命令:
cd 切换目录
dir 显示目录内容
ls 显示目录内容
cat
显示文件内容,适合小文件
less 分屏显示文件内容,可前后翻阅
more 分屏显示文件内容,不可向前翻阅
head 显示文件头部内容
tail
显示文件尾部内容
touch 创建文件或更新文件访问时间
mkdir 创建目录
rmdir 删除目录
rm 删除文件或目录(-r)
cp 复制文件或目录
mv 移动或改名
chown 修改文件所有者
chgrp 修改文件所属组
chmod 修改文件目录权限
find 查找文件或目录
tar 打包工具
gzip/gunzip 压缩工具
bzip2/bunzip2 压缩工具
vi 文本编辑工具

用户类命令:

 useradd 添加用户
userdel 删除用户
usermod 修改用户属性
passwd 设置密码
groupadd 添加组
groupmod 修改组属性
groupdel 删除组
gpasswd 将用户添加到组或从组中删除
id 显示当前用户ID属性
who 显示当前登录的用户 w 同上,略有不同
chfn 修改用户信息
su 切换用户
chsh 修改登录

Shell 帮助类命令:

help 显示内部命令帮助
man 查看手册
info 查看
texinfo格式手册

文件系统类命令:

fdisk 分区命令
mkfs 格式化命令
e2label 设置卷标
mount 挂载文件系统
umount 解除挂载文件系统
fsck 文件系统检查
mkswap 创建
swap文件系统
quotacheck 检查配额
quotaon 启用配额
quotaoff 关闭配额
edquota 设置用户磁盘配额

软件包管理:

rpm redhat包管理工具
apt Debian包管理工具
yum Yellow dog包管理工具

系统管理命令:

date 显示/设置系统时间
shutdown 关闭系统
reboot 重启系统
halt 关闭系统
runlevel 显示运行级
init 切换运行级
grub-install 安装
GRUB cal 显示日历

内核管理类命令:

lsmod 显示已加载内核模块
insmod 添加内核模块
modprobe 添加内核模块
modinfo 显示内核模块信息
rmmod 移除内核模块

进程管理类命令:

ps 显示系统进程
top 进程管理工具
pstree 显示进程树
pidof 显示指定程序的进程号
nice 设置进程优先级 网络基础类命令
ifconfig 查看/设置网卡参数
ifup 启用网络设备
ifdown 关闭网络设备
lsof 显示指定端口由谁监听
sysctl 控制TCP/IP内核参数
adsl-setup 设置ADSL连接参数
adsl-status 显示ADSL连接状态
adsl-connect 启动ADSL连接
netstat 显示系统网络状态信息
route 查看路由表
ip 强大的网络管理工具
ping 测试连通性
traceroute 路径跟踪

2006-06-22

用php读取远程文件

//读取远程rss内容

function addRss($id,$url){
$doc = new DOMDocument();
$doc->load($url);
$books = $doc->getElementsByTagName(”item”);
foreach( $books as $book ) {
$titles = $book->getElementsByTagName(”title”);
$title = chop($titles->item(0)->nodeValue);
$links = $book->getElementsByTagName(”link”);
$link = chop($links->item(0)->nodeValue);
$descriptions = $book->getElementsByTagName(”description”);
$description = chop($descriptions->item(0)->nodeValue);
$pubDates = $book->getElementsByTagName(”pubDate”);
$pubDate = chop($pubDates->item(0)->nodeValue);
$filepath=date(”Ymd”);
$sql=”INSERT INTO rsscon (catalog1,sub1,url1,con1,addDate,filePath) values ($id,’$title’,'$link’,'$description’,'$pubDate’,'$filepath’)”;
echo ” “;
if(mysql_query($sql)){
echo (”Last inserted record has id “.mysql_insert_id().” “);
} else{
echo $sql;
}
}
}

(阅读全文…)

No Tags

flash中的一些常用的代码

在各个网站中整理了一些有用的东西, 如下: [flash制作收藏和设为主页按钮代码]: 收藏 on (release) { getURL("javascript:window.external.AddFavorite(’http://你的网站,’网站title’);"); } 主页 on (release){ getURL("javascript:void(document.links[0].style.behavior=’url(#default#homepage)’); void document.links[0].setHomePage(’http://你的网站);"); } 在和之间,加入以下这句代码: [flash按钮设置新打开一个固定大小网页]: 例如在Flash所在的网页之间用javascript定义这么一个函数 然后 Flash中的按扭动作只要这么写就可以了 on(release){ getURL("javascript :****Window(’asdf.htm’,’’,’width=100,height=100’)") [背景设成透明]: 在FLASH中: 通过file/publish settings 或是直接按ctrl+shift+F12调出 FLASH发布设置窗口。 在“Window Mode”下拉框选“Transparent Windowless” 不过注意的是: 其效果是在Html页面中加入的 并非Flash文件本身具有这一属性. 也就是只有在发布到网页中才具有这一属性的。 [可控制Flash Player的Javascript方法]: Play() —————————————- 播放动画 StopPlay()————————————停止动画 IsPlaying()———————————– 动画是否正在播放 GotoFrame(frame_number)—————- 跳转到某帧 TotalFrames()——————————- 获取动画总帧数 CurrentFrame()——————————回传当前动画所在帧数-1 Rewind()————————————-使动画返回第一帧 SetZoomRect(left,top,right,buttom)——-放大指定区域 Zoom(percent)——————————改变动画大小 Pan(x_position,y_position,unit)————使动画在x,y方向上平移 PercentLoaded()—————————-返回动画被载入的百分比 LoadMovie(level_number,path)———– 加载动画 TGotoFrame(movie_clip,frame_number)- movie_clip跳转到指定帧数 TGotoLabel(movie_clip,label_name)—— movie_clip跳转到指定标签 TCurrentFrame(movie_clip)————— 回传movie_clip当前帧-1 TCurrentLabel(movie_clip)—————–回传movie_clip当前标签 TPlay(movie_clip)—————————播放 movie_clip TStopPlay(movie_clip)———————-停止 movie_clip的播放 GetVariable(variable_name)—————–获取变量 SetVariable(variable_name,value)———–变量赋值 TCallFrame(movie_clip,frame_number)—call指定帧上的 action TCallLabel(movie_clip,label)—————-call指定标签上的 action TGetProperty(movie_clip,property)——–获取movie_clip的指定属性 TSetProperty(movie_clip,property,number)-设置movie_clip的指定属性

No Tags

NextRecordset 和 GetRows 双簧合奏

NextRecordset 和 GetRows 大家可能用的很少! 最近使用使用,不错的好东东! 对提高批量查询,查询纪录集不是巨海量的情况很有效果 NextRecordset 和 GetRows 是Recordset的两个属性(属性还是方法我是常混淆是非#$#$,弄不清四下五除一) GetRows —> 将recordset记录集提取到一个二维数组中,我们对recordset数据的行为就转移到该数组,可以早早的断开纪录集,不用再使用元数据操作, rs.movnext, while not rs.eof等可以省掉 NextRecordset —-> 就是在一次提交多个查询,形成多个reordset结果集的情况下,提供一个离开当前工作的recordset,转移到第二个recordset的方法! 主要是用在多个SELECT形成的结果集的情况 示例如下: dim SQL,Rs,arrA,arrB,rowsA,rowsB ‘======提取数据库库记录==== (adodb.connection 的连接部分省略,假定CONN.open CONNstr) SQL=" select Ca1,Ca2,Ca3,Ca4 from TableA " ‘————— SELECTa SQL=SQL&" select Cb1,Cb2,Cb3,Cb4,Cb5 from TableB " ‘————- SELECTb Set Rs=conn.execute(SQL) ‘执行结果将有两个select 的结果集,当前第一个select的recordset处于激活状态 arrA=rs.GetRows ‘———-取得SElECTa Recordset的二维数组 set rs=rs.NextRecordset ‘————最关键的一步,使用Nextrecordset激活下一个record set arrB=rs.GetRows ‘———-再次取得第二个SElECTb Recordset的二维数组 Rs.close set rs=nothing ‘———尽早释放数据库对象,关闭记录集 CONN.close set CONN=Nothing ‘ 这样,我们所有关于数据库的数据干干净净的提取完成,用最早的时间释放数据库资源 ‘———–// ‘========用取得的arrA arrB进行页面处理,显示数据结果====== ‘注意,arrA=GetRows 后得到的数组,第一维是代表列,第二维代表行 rowsA=ubound(arrA,2) ‘—-提取arrA的第二维下标,相当于取得recordset 的记录行数 rowsB=ubound(arrB,2) ‘—–同上,提取arrB的第二维下标 ‘做数据循环: ‘第一个select表的循环 response.write "

"&arrA(i,0)&" "&arrA(i,1)&" "&arrA(i,2)&" "&arrA(i,3)&"

‘第二个select表循环 response.write "

"&arrB(i,0)&" "&arrB(i,1)&" "&arrB(i,2)&" "&arrB(i,3)&" "&arrB(i,4)&"

‘——–OVER REM ‘============小结======== 这样的结果,再清楚不过! (1)使用Nextrecordset,可以处理多个select语句一次发送形成的结果集,减少网络流量,必定加快速度! 不使用NextRecordset 则会这样操作: SQL="select Ca1,Ca2,Ca3, Ca4 From TableA " set Rs=CONN.execute (SQL) SQL=" select Cb1,Cb2,Cb3,Cb4,Cb5 from TableB " Set Rs=CONN.execute (SQL) (2)使用GetRows将记录集提取到数组中(放到内存,所以要求记录集不要海大啦) 用内存的数组工作,而且省掉EOF,movenext等的判断, (3)最最主要的,我们利用上二者,一次性将所有的数据提完,快速断开数据库连接和摧毁建立recordset数据库对象,大大减少网络流量!性能自然要提高很多!

No Tags

用php读取远程文件

//读取远程rss内容
function addRss($id,$url){

$doc = new DOMDocument();
$doc->load($url);
$books = $doc->getElementsByTagName(”item”);
foreach( $books as $book )
{
$titles = $book->getElementsByTagName(”title”);
$title = chop($titles->item(0)->nodeValue);

(阅读全文…)

No Tags

在 Tomcat 上配置虚拟主机

一 准备 我们将配置两台虚拟主机, 假设域名分别为 www.hostname1.net www.hostname2.net 为了测试方便, 请在服务器上: Win2K:\WINNTsystem32driversetchosts Linux:/etc/hosts 文件中增加下面内容, 然后检查一下这两个域名是否解析正确。 127.0.0.1 www.hostname1.net 127.0.0.1 www.hostname2.net 当然,在生产环境中这样做是不行的,需要的在 DNS 上做相应的域名解析。 二 Tomcat配置 将 tomcat 目录下的 webapps 目录在同一目录复制一份, 目录名分为 webapps2 ,然后将 webapps 目录改名 为 webapps1 。最后 tomcat 的目录结构大致如下: tomcat |–bin |–common |–conf |–logs |–server |–shared …… |–webpapps1 |–webpapps2 |–work 最后,写一个test.html 文件用于测试,文件内容如下:

你现在访问的是 www.hostname1.net

(阅读全文…)

apache 解释.shtml

/etc/httpd/conf/httpd.conf 增加以下内容: Options +Includes AddType text/html .shtml AddOutputFilter INCLUDES.shtml 为要定位的目录。

No Tags

解决apache Web服务器中文网页显示乱码的方法

解决的方法之一: (1)在每一个网页里增加 并在APACHE的httpd.conf配置文件中将AddDefaultCharset ISO-8859-1 改为 AddDefaultCharset off 解决的方法之二: 直接在httpd.conf配置文件中将AddDefaultCharset ISO-8859-1 改为 AddDefaultCharset GB2312 .ZH-CN .zh-cn 上述两种方法都可以解决apache Web服务器网页显示乱码的问题。 其中以第二种方法最好最简单,且一劳永逸 用第二种方法的话,如果你的服务器下面的虚拟主机里面有外国的语言的就不兼容了,还有些系统要求使用UTF-8的,你也不能强制指定语言啊。

No Tags

apache 整合 tomcat5.0

apache 整合 tomcat5.0 /etc/httpd/conf/httpd.conf 在“Listen 80”增加: LoadModule jk_module modules/mod_jk2.so JkWorkersFile "/home/tomcat5.0/conf/workers.properties" JkMount /servlet/* ajp13 JkMount /*.jsp ajp13

(阅读全文…)

No Tags