登录模块加载中...
会员投稿 投稿指南 今天是:
打印本页 | 关闭窗口 | 双击滚屏 您的位置首页>>网页制作学习园地>>CGI教程>>CGI数据库相关>>基于ODBC的通用数据库管理程序
基于ODBC的通用数据库管理程序
来源:网页制作学习园地 ‖ 作者:网页制作学习园地 ‖ 点击: ‖ 时间:07-12-19 14:54:02 ‖ 【 】‖ 我要投稿


#!/usr/bin/perl
print "Content-type: text/html\n\n";
#setver
$http = "http://$ENV{'SERVER_NAME'}$server_port";
$cgiurl = "$http/cgi-bin/test4.pl"; #cgi的URL exp http://ssl
($disk,$root,$script) =split(/\\/,__FILE__);
$filehead = "$disk\/$root\/$script"; #exp:d:/inetpub/cgi-bin
$allow_html = 0; # 1=允许使用html语法 0=no
$time_miss = +0; # Server时区调整
#program
&get_form;
&set_var;
use Win32::ODBC;
#$DSN = "mdbtest" if (!$DSN);
$DSN = "DSN eq test;UID eq test;PWD eq test;" if (!$DSN); #i use sqlserver
$DSN1=$DSN;
$DSN=~s / eq /=/g;
$DSN1=~s / / /g;
#创建一个DSN文件头
my $db = Win32::ODBC- >new($DSN);
#测试是否存在此DSN
if (! $db){
print "Failed to Connect $DSN\n";
Win32::ODBC::DumpError();
#如果不存在则退出程序
die;
}#else{print "联结正确!";exit;}
$DSN=$DSN1;
if ($job eq "look") {
&look;
$db- >Close();
exit;
}elsif ($job eq "type"){
&type;
$db- >Close();
exit;
}elsif ($job eq "stat"){
&stat;
$db- >Close();
exit;
}elsif ($job eq "help"){
&help;
$db- >Close();
exit;
}elsif ($job eq "log"){
&log;
$db- >Close();
exit;
}
&main;
$db- >Close();
exit;
sub log{
$sql="select usedate as 时间,host as 使用者,sqlcommand as SQL命令 from log order by usedate";
&look;
}
sub help{
print < < "EOF";
< html >< body >
< pre >
sql语句简介:
select [ALL|DISTINCT|DISTINCTROW|][TOP n ]字段列表|* from 表名
[where 条件]
[order by 字段名 ][DESC]]
[group by 字段名]
其中:条件 数字型 字段名 操作符 值(lt <  ,gt  >,eq =, le < =,ge  >=,ne <  >)
字符型 字段名 like '值' 如加%号为模糊条件
日期型 TO_CHAR(字段名,'YYYYMMDD HH24:MI:SS')  > '20000120 09:01:00'
谓词 ALL 返回所有数据,默认值
DISTINCT 省略选择字段中包含重复数据的记录
DISTINCTROW 省略基于整个重复记录的数据,而不只是基于重复字段的数据。
TOP n 返回指定记录数
标头 用于代替字段名,语法: 字段名 as 标头
CREATE TABLE 表名(字段名 字段类型(长度)[,字段名 字段类型(长度)...])
drop table 表名 用途:删除表 注:删除后无法恢复
TRUNCATE TABLE 表名 用途:清除表中的所有数据但不删除这个表
ALTER TABLE 表名 ADD 字段名 字段类型 NULL
用途:给指定的表增加一个字段,注意:NULL参数是必须有的
INSERT INTO 表名 (字段列表) VALUES (字段值列表) 用途:增加记录,分隔用,分隔DELETE * from 表名 WHERE 条件 用途:删除符合条件的记录 注意:如不提供条件,将删除所有记录update 表名 set 字段=字段值[,字段=字段值] where 条件
用途:更新符合条件的记录值,注意:如不提供条件将更新所有记录
SELECT *|字段列表 INTO 新表名 FROM 旧表名 用途:拷贝整个表或指定字段的表
字段类型:
数据类型 存储大小 描述
BINARY 每个字符占一个字节 任何类型的数据都可存储在这种类型的字段中。不需数据转换(例如,转换到文本数据)。数据输入二进制字段的方式决定了它的输出方式。
BIT 1 个字节 Yes 和 No ,以及只包含这两个数值之一的字段。
BYTE 1 个字节 介于 0 到 255 之间的整型数。
COUNTER 4 个字节 每当有新记录添加至表中时,由 Microsoft Jet 数据库引擎自动增加数值。在 Microsoft Jet 数据库引擎中,此数值的数据类型为 Long。
CURRENCY 8 个字节 介于 ?-?922,337,203,685,477.5808 到 922,337,203,685,477.5807 之间的符号整数。
DATETIME
(清参阅 DOUBLE ) 8 个字节 介于 1

|<< << < 1 2 3 4 > >> >>|
加入收藏:  加入收藏夹  | 发送给好友:  发送给好友
责任编辑:admin
请文明参与讨论,禁止漫骂攻击。  
网友评论