switch($_GET['action'])为什么是错误的

switch($_GET['action'])为什么是错误的,第1张

改成这样试试

......

mysql_select_db(DBNAME,$link)

$action = isset($_GET['action']) && !empty($_GET['action']) : $_GET['action'] : ''

switch($action){

case "add":

......

慢慢来什么都会学会的

1:首先建立一个access数据库保存为 xhnew.mdb 表名为aa

字段如下:

id 自动排序

name 文本

content 文本

xhtime 日期 默认值 now()

title 文本

2:打开DW 建立文件conn.asp文件

代码如下:

CODE:<%

set conn=server.createobject("adodb.connection")

conn.open "driver={microsoft access driver (*.mdb)}dbq="&server.mappath("xhnew.mdb")

%>这段语句是连接数据库的语句 set conn=server.createobject("adodb.connection")创建一个connection对象 用该对象的open方法打开数据库

driver={microsoft access driver (*.mdb)}这句语句是access的驱动

dbq="&server.mappath("xhnew.mdb")这句是数据库的路径

建立conn.asp是为了方便接下来的教学。。。

我们可以任何要用到打开数据库连接的文件里加

<!--#include file="conn.asp"-->就可以调用

是不是很方便。第一个小时就学这么多。。。当你弄明白上面的数据库还有代码后。。

就继续跟着我学吧!

(第2个小时)

现在来学把数据库的信息输出来

下面先建立一个主文件index.asp

代码如下

CODE:

<!--#include file="conn.asp"-->

<%

exec="select * from aa order by id desc "

set rs=server.createobject("adodb.recordset")

rs.open exec,conn,1,1

%>

<table width="628" height="24" border="1" align="center" cellpadding="1" cellspacing="0">

<%

if rs.eof and rs.bof then

response.write("暂时没有文章")

else

do while not rs.eof

%>

<tr>

<td width="66" height="22" ><%=rs("id")%></td>

<td width="66" ><%=rs("name")%></td>

<td width="66" ><%=rs("content")%></td>

<td width="273" ><%=rs("xhtime")%></td>

<td width="53" ><%=rs("title")%></td>

<td><a href="modify.asp?id=<%=rs("id")%>" target="_self">编辑</a></td>

<td width="32" ><a href="del.asp?id=<%=rs("id")%>">删除</a></td>

</tr>

<%

rs.movenext

loop

end if

%>

</table>

<%

rs.close

set rs=nothing

conn.close

set conn=nothing

%>

<td><a href="add.asp">添加</a></td>

代码解释:

(1)<%

exec="select * from aa order by id desc "

set rs=server.createobject("adodb.recordset")

rs.open exec,conn,1,1

%>

上面的代码是创建一个recordset对象。。该对象是用来打开数据库中的表的。。也就是打开aa

exec="select * from aa order by id desc " 这句的意思是查找表aa中所有信息并倒序排列

信息. *号表示aa中所有的信息 order by id 就是aa中id字段 desc 是倒序的意思

rs.open exec,conn,1,1 这句话的意思是用recordset对象来打开conn中的表

(2)

<%

if rs.eof and rs.bof then

response.write("暂时没有文章")

else

do while not rs.eof

%>

上面是if语句。。if else语句是相当重要的。。

希望一些初学者要认真的研究一下if else语句。。不可心急。基础才是硬道理

rs.eof 的意思是aa表中的最后一条记录 那么rs.bof就是第一条记录

整个语句用中文翻译就是 当aa表中的最后和最前一条信息没有的时候。。就输出暂时没有文章

或则就循环到eof最后一条信息。。

(3)<tr>

<td width="66" height="22" ><%=rs("id")%></td>

<td width="66" ><%=rs("name")%></td>

<td width="66" ><%=rs("content")%></td>

<td width="273" ><%=rs("xhtime")%></td>

<td width="53" ><%=rs("title")%></td>

<td><a href="modify.asp?id=<%=rs("id")%>" target="_self">编辑</a></td>

<td width="32" ><a href="del.asp?id=<%=rs("id")%>">删除</a></td>

</tr>

上面的代码比较容易理解。。<%=rs("id")%>这个用法是输出数据库字段id..

<a href="modify.asp?id=<%=rs("id")%>" target="_self">编辑</a>这段很重要。。

我来解释一下。。在ie窗口点 编辑 的时候。。页面会跳转到modify.asp的文件里的id

并进行相应的处理。。这里很难解释清楚。。在接下来的例子中再慢慢解说

(4)

<%

rs.movenext

loop

end if

%>

这句是循环结束的语句

rs.movenext 这句是游标向下指的意思

(5)

<%

rs.close

set rs=nothing

conn.close

set conn=nothing

%>

这句是关闭数据库的语句

用完数据库后要记得关闭数据库。。以免占用资源

养成随手关门的好习惯

就学到这里。。好好消化上面的代码。。心急吃不了热豆腐。。

一步一个脚印最塌实

(第3个小时)

现在来学添加数据到数据库 需要两个文件来实现

(1)先建立一个提交表单add.asp

代码如下:

CODE:

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312" />

<title>无标题文档</title>

</head>

<body>

<form name="form1" method="post" action="add_new.asp">

名字 <input type="text" name="name"><br>

备注 <input type="text" name="content"><br>

题目<input type="text" name="title" ><br>

<input type="submit" name="Submit" value="提交">

<input type="reset" name="Submit2" value="重置">

</form>

</body>

</html>

上面代码要注意的是action="add_new.asp"提交到add_new.asp文件

还有name="name" name="content" name="title" 名字要对应

(2)处理文件add_new.asp

代码如下:

CODE:

<!--#include file="conn.asp"-->

<%

name=request.form("name")

content=request.form("content")

title=request.form("title")

exec="insert into aa(name,content,title) values('"+name+"','"+content+"','"+title+"')"

conn.execute exec

conn.close

set conn=nothing

response.redirect "index.asp"

%>

代码解释:

(1)

name=request.form("name")

content=request.form("content")

title=request.form("title")

这三句语句是接收add.asp发来的信息。。request.form("name")就是对应add.asp中的name="name"

(2)

exec="insert into aa(name,content,title) values('"+name+"','"+content+"','"+title+"')"

conn.execute exec

上面的语句是数据库插如信息的语句

insert into aa(name,content,title) 中文意思是插入信息对应aa表中的三个字段

三个字段的数值是values('"+name+"','"+content+"','"+title+"') 这里面对应的值是

这三句语句

name=request.form("name")

content=request.form("content")

title=request.form("title")

传递的

(3)

conn.close

set conn=nothing

response.redirect "index.asp"

关闭数据库。。写如成功后自动转页面到index.asp

到这里相信你已经学会如何添加新记录到数据库了。。

那就跟着我接着学吧。。。

ASP基础实例教程之五个小时学会Asp连接access添加,删除,修改四

(第4个小时)

接下来我们来学删除数据库信息。。。

删除信息比较简单。。只需要一个文件del.asp

代码如下:

CODE:

<!--#include file="conn.asp"-->

<%

exec="delete * from aa where id="&request.querystring("id")

conn.execute exec

conn.close

set conn=nothing

response.redirect "index.asp"

%>

代码解释:

exec="delete * from aa where id="&request.querystring("id")

conn.execute exec

先翻译成中文意思

删除表aa中id字段的值。。这个值等于="&request.querystring("id")

还记得我们建立index.asp文件的时候吗?里面有段语句是这样的

<td width="32" ><a href="del.asp?id=<%=rs("id")%>">删除</a></td>

大家现在看明白了吧!你们这么聪明。。一定明白了。

我再补充说两句

当我们点击删除的时候。。。这个时候就会连接到del.asp做处理。。

而同时del.asp接收到我们的请求是通过"&request.querystring("id")这句语句

然后conn.execute exec 这条语句就执行删除。。

整个流程就是这样。。。

希望学习的人好好弄清楚。。那样我们才可以继续学习修改

(第5个小时)

现在学习数据的修改。 这是难点。。大家要认真的跟着我学。。

本人也是看了很久才学会的。。解释的不好多多包容。。

修改需要两个文件

(一)建立modify.asp 和del.asp很像似

代码如下:

CODE:

<!--#include file="conn.asp"-->

<%

exec="select * from aa where id="&request.querystring("id")

set rs=server.createobject("adodb.recordset")

rs.open exec,conn,1,1

%>

<form name="form1" method="post" action="modifysave.asp">

<table width="748" border="0" cellspacing="0" cellpadding="0">

<tr>

<td>name</td>

<td>content</td>

<td>title</td>

</tr>

<tr>

<td>

<input type="text" name="name" value="<%=rs("name")%>">

</td>

<td>

<input type="text" name="content" value="<%=rs("content")%>">

</td>

<td><input type="text" name="title" value="<%=rs("title")%>">

<input type="submit" name="Submit" value="提交">

<input type="hidden" name="id" value="<%=request.querystring("id")%>">

</td>

</tr>

</table>

</form>

<%

rs.close

set rs=nothing

conn.close

set conn=nothing

%>

代码解释:

(1)

<%

exec="select * from aa where id="&request.querystring("id")

set rs=server.createobject("adodb.recordset")

rs.open exec,conn,1,1

%>

这句exec="select * from aa where id="&request.querystring("id")我在del.asp里解释过了

在这里也是一样的道理

set rs=server.createobject("adodb.recordset")

rs.open exec,conn,1,1

上面是用recordset对象打开数据表。。。

(2)

<input type="text" name="name" value="<%=rs("name")%>">

这里要注意名字要对应。。否则或出错。。

<input type="hidden" name="id" value="<%=request.querystring("id")%>">

这里是隐藏表单。。。提交隐藏的表单元素会随着表单一起提交,用于传递变量

(二)建立modifysave.asp 文件

代码如下:

CODE:

<!--#include file="conn.asp"-->

<%

exec="select * from aa where id="&request.form("id")

set rs=server.createobject("adodb.recordset")

rs.open exec,conn,1,3

%>

<%

rs("name")=request.form("name")

rs("content")=request.form("content")

rs("title")=request.form("title")

rs.update

rs.close

set rs=nothing

conn.close

set conn=nothing

response.redirect"index.asp"

%>

代码解释:

(1)

rs("name")=request.form("name")

rs("content")=request.form("content")

rs("title")=request.form("title")

这三句话的意思是数据库中的rs("name")的值等于接收到request.form("name")的值

request.form("name")的值是从modify.asp传递来的。。

(2)

rs.update 这句语句是更新数据库里的信息的意思 就是把提交的信息上传到数据库

aspAsp连接access添加,删除,修改已经都教完了

许多大的系统如新闻发布系统都是在这个基础上建立的

希望大家能学有所成

我曾经装过,烦琐异常。

有一个安装步骤,建议你在做之前将ORACLE相关目录删除了,可干净些,当然LINUX下不比windows,比较清净。那些安装包一定需要的,没有的ORACLE会提示的。再有实现把JAVA等配好吧。

Oracle 10g手工创建数据库

作者: 依偎, 出处:赛迪网, 责任编辑: 王晓晨, 2008-08-12 08:01 本文总结了Oracle 10g手工创建数据库的方法。

个人经验总结:Oracle 10g手工创建数据库的方法。

1、创建目录

mkdir d:\oracle\product\10.1.0\database

mkdir e:\oracle\admin\Ora10g\bdump

mkdir e:\oracle\admin\Ora10g\cdump

mkdir e:\oracle\admin\Ora10g\create

mkdir e:\oracle\admin\Ora10g\pfile

mkdir e:\oracle\admin\Ora10g\udump

mkdir e:\oracle\flash_recovery_area

mkdir e:\oracle\oradata

mkdir e:\oracle\oradata\Ora10g

2、生成windows服务,创建密码文件,在cmd命令下运行

set ORACLE_SID=dbca --绿色部分设置oracle 实例名为 为ora10g

d:\oracle\product\10.1.0\DB_1\bin\oradim.exe -new -sid ORA10G -startmode manual -spfile d:\oracle\product\10.1.0\DB_1\bin\oradim.exe -edit -sid ORA10G -startmode a -spfile

--创建一个实例名为dbca 并且有手动启动方式改为自动启动

d:\oracle\product\10.1.0\DB_1\bin\orapwd.exe file=d:\oracle\product\10.1.0\db_1\PWDOra10g.ora password=sysPassword force=y

--用oracle自带的orapwd 为sys用户创建一个默认的密码为sysPassword

3、执行创建数据库脚本

D:\oracle\ora92\bin\sqlplus /nolog @D:\oracle\admin\dbca\scripts\CreateDB.sql

D:\oracle\ora92\bin\sqlplus /nolog @D:\oracle\admin\dbca\scripts\CreateDBFiles.sql

D:\oracle\ora92\bin\sqlplus /nolog @D:\oracle\admin\dbca\scripts\CreateDBCatalog.sql

D:\oracle\ora92\bin\sqlplus /nolog @D:\oracle\admin\dbca\scripts\postDBCreation.sql

--黑体部分就是创建数据库要调用的脚本

第一 CreateDB.sql

connect SYS/change_on_install as SYSDBA --这是刚刚我们设置的密码以sysdba身份连接到数据库

connect SYS/change_on_install as SYSDBA --这是刚刚我们设置的密码以sysdba身份连接到数据库

set echo on

spool D:\oracle\ora92\assistants\dbca\logs\CreateDB.log 写日志

startup nomount pfile="D:\oracle\admin\dbca\scripts\init.ora"调用参数文件 启动数据库到只装载实例阶段

CREATE DATABASE dbca

MAXINSTANCES 1

MAXLOGHISTORY 1

MAXLOGFILES 5

MAXLOGMEMBERS 3

MAXDATAFILES 100 --控制文件记录的相关最大日志数,日志组,最大数据文件数等限制

DATAFILE 'D:\oracle\oradata\dbca\system01.dbf' SIZE 250M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED

EXTENT MANAGEMENT LOCAL

DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE 'D:\oracle\oradata\dbca\temp01.dbf' SIZE 40M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED

UNDO TABLESPACE "UNDOTBS1" DATAFILE 'D:\oracle\oradata\dbca\undotbs01.dbf' SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED --创建系统,临时,回滚

CHARACTER SET ZHS16GBK

NATIONAL CHARACTER SET AL16UTF16 --字符集

LOGFILE GROUP 1 ('D:\oracle\oradata\dbca\redo01.log') SIZE 102400K,

GROUP 2 ('D:\oracle\oradata\dbca\redo02.log') SIZE 102400K,

GROUP 3 ('D:\oracle\oradata\dbca\redo03.log') SIZE 102400K--创建日志文件租和成员

spool off

exit

第二.CreateDBFiles.sql

connect SYS/change_on_install as SYSDBA

set echo on

spool D:\oracle\ora92\assistants\dbca\logs\CreateDBFiles.log

CREATE TABLESPACE "INDX" LOGGING DATAFILE 'D:\oracle\oradata\dbca\indx01.dbf' SIZE 25M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO

CREATE TABLESPACE "TOOLS" LOGGING DATAFILE 'D:\oracle\oradata\dbca\tools01.dbf' SIZE 10M REUSE AUTOEXTEND ON NEXT 320K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO

CREATE TABLESPACE "USERS" LOGGING DATAFILE 'D:\oracle\oradata\dbca\users01.dbf' SIZE 25M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO --创建相关用户要用到的表空间

spool off

exit

第三:CreateDBCatalog.sql

--创建system数据字典,存放到system表空间,相关表,视图等

connect SYS/change_on_install as SYSDBA

set echo on

spool D:\oracle\ora92\assistants\dbca\logs\CreateDBCatalog.log

@D:\oracle\ora92\rdbms\admin\catalog.sql

@D:\oracle\ora92\rdbms\admin\catexp7.sql

@D:\oracle\ora92\rdbms\admin\catblock.sql

@D:\oracle\ora92\rdbms\admin\catproc.sql

@D:\oracle\ora92\rdbms\admin\catoctk.sql

@D:\oracle\ora92\rdbms\admin\owminst.plb

connect SYSTEM/manager

@D:\oracle\ora92\sqlplus\admin\pupbld.sql

connect SYSTEM/manager

set echo on

spool D:\oracle\ora92\assistants\dbca\logs\sqlPlusHelp.log

@D:\oracle\ora92\sqlplus\admin\help\hlpbld.sql helpus.sql

spool off

spool off

exit

第四: postDBCreation.sql

connect SYS/change_on_install as SYSDBA

set echo on

spool D:\oracle\ora92\assistants\dbca\logs\postDBCreation.log

@D:\oracle\ora92\rdbms\admin\utlrp.sql--编译相关视图,包对象等

shutdown --关闭数据库

connect SYS/change_on_install as SYSDBA

set echo on

spool D:\oracle\ora92\assistants\dbca\logs\postDBCreation.log

create spfile='D:\oracle\ora92\database\spfiledbca.ora' FROM pfile='D:\oracle\admin\dbca\scripts\init.ora'

--创建服务器参数文件代替文件初始化参数文件,方便有时在不重启数据库的情况下可以使参数生效

从上面可以看到spfile文件的存放位置

startup --启动数据库 ,创建数据库完成

exit

从上面可以看出,创建数据库有以下10个步骤

Step 1: 创建相关trace目录文件夹

Step 2:创建实例,密码 启动方式

Step 3:创建初始化参数文件 init.ora

Step 4: 连接到实例

Step 5: 启动实例到nomount状态

Step 6:创建数据库

Step 7:创建表空间

Step 8: 运行脚本创建数据字典

Step 9: 创建服务器参数文件(这步不是必须的,但oracle建议做这步) 好处会在以后的总结中列出

下面也贴出linux下脚本,和windows下几乎差不多

#!/bin/sh

mkdir /oradata/ora9i

mkdir /oradata/ora9i/controlfile

mkdir /oradata/ora9i/redofile

mkdir /orasys/oracle/admin

mkdir /orasys/oracle/admin/ora9i

mkdir /orasys/oracle/admin/ora9i/bdump

mkdir /orasys/oracle/admin/ora9i/cdump

mkdir /orasys/oracle/admin/ora9i/create

mkdir /orasys/oracle/admin/ora9i/udump

mkdir /orasys/oracle/admin/ora9i/pfile

cp init.ora /orasys/oracle/product/9.2.0/dbs/.

export ORACLE_BASE=/orasys/oracle

export ORACLE_HOME=$ORACLE_BASE/product/9.2.0

export ORACLE_SID=ora9i

export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

export LD_LIBRARY_PATH

export PATH=$PATH:$ORACLE_HOME/bin

echo Add this entry in the oratab: ora9i:/orasys/oracle/product/9.2.0:Y

/orasys/oracle/product/9.2.0/bin/orapwd file=/orasys/oracle/product/9.2.0/dbs/orapwora9i password=change_on_install

/orasys/oracle/product/9.2.0/bin/sqlplus /nolog @/home/oracle/create_script/CreateDB.sql

/orasys/oracle/product/9.2.0/bin/sqlplus /nolog @/home/oracle/create_script/CreateDBFiles.sql

/orasys/oracle/product/9.2.0/bin/sqlplus /nolog @/home/oracle/create_script/CreateDBCatalog.sql

/orasys/oracle/product/9.2.0/bin/sqlplus /nolog @/home/oracle/create_script/postDBCreation.sql

希望有用哦,祝好运。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6840365.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-29
下一篇2023-03-29

发表评论

登录后才能评论

评论列表(0条)

    保存