你可以找个免费的数据库空间
与你前一个空间通过URL连上就能实现了
不过那速度可就不敢保证了
每个网站都要分一部分 还要算上这2个网站之间的链接PING值
没啥实际用途
Dreamweaver MX 动态建站数据库路径的使用方法中
一,不推荐使用ServerMappath(相对文档路径地址的数据库文件)
虽然具有平台移植性,但对于不同层次,不同深度下的引用该数据库的文件,将不能完整地保证数据库路径的正确性。
举个例子:
1,数据库文件cnbrucemdb,所在文件夹database(可>
常用数据库语句
1SELECT 语句:命令数据库引擎从数据库里返回信息,作为一组记录。
2INSERT INTO 语句:添加一个或多个记录至一个表。
3UPDATE 语句:创建更新查询来改变基于特定准则的指定表中的字段值。
4DELETE 语句:创建一个删除查询把记录从 FROM 子句列出并符合 WHERE 子句的一个或更多的表中清除。
5EXECUTE 语句:用于激活 PROCEDURE(过程)
用 ASP 来做一个自己的通讯录练练手吧……
一、建立数据库:
用 Microsoft Access 建立一个名为 datamdb 的空数据库,使用设计器创建一个新表。输入以下几个字段:
字段名称数据类型说明其它
ID 自动编号数据标识字段大小:长整型 新值:递增 索引:有(无重复)
username文本姓名缺省值
usermail文本E-mail 缺省值
view数字查看次数字段大小:长整型 默认值:0 索引:无
indate 时间日期加入时间缺省值
保存为 datamdb 文件,为了便于说明,只是做了一个比较简单的库。
二、连接数据库
方法1:
Set conn = ServerCreateObject("ADODBConnection")
connOpen "driver={Microsoft Access Driver (mdb)};dbq="&ServerMapPath("datamdb")
方法2:
Set conn = ServerCreateObject("ADODBConnection")
connOpen "Provider=MicrosoftJetOLEDB40;Data Source="&ServerMapPath("datamdb")
注意:一个页面中,只要连接一次就可以了,数据库使用完后要及时关闭连接。
connClose
Set conn = Nothing
三、添加新记录到数据库
Set conn = ServerCreateObject("ADODBConnection")
connOpen "driver={Microsoft Access Driver (mdb)};dbq="&ServerMapPath("datamdb")
username = "风云突变"
usermail = "ec0705liujuan@163com"
indate = Now()
sql = "insert into data (username,usermail,indata) values('"&username&"','"&usermail&"','"&indate&"')"
connExecute(sql)
connClose
Set conn = Nothing
说明:建立数据库连接;通过表单获取姓名、E-mail 字符串,Now()获取当前时间日期;使用 insert into 语句添加新记录;connExecute 来执行;最后关闭。
四、选择数据库里的记录
1选择所有记录的字段(按记录倒序排序):sql = "select from data order by ID desc"
2选择所有记录的姓名和E-mail字段(不排序):sql = "select username,usermail from data"
3选择姓名为“风云突变”的所有记录:sql = "select from data where username='"风云突变"'"
4选择使用 163 信箱的所有记录(按查看次数排序):sql = "select from data where usermail like '%"@163com"%' order by view desc"
5选择最新的10个记录:sql = "select top 10 from data order by ID desc"
SQL 语句已经知道了,不过在Web应用时,还得创建一个 RecordSet 对象得到记录集,才能把从数据库里取出的值应用在网页上,如果现在将所有的记录显示在网页上就这样:
Set conn = ServerCreateObject("ADODBConnection")
connOpen "driver={Microsoft Access Driver (mdb)};dbq="&ServerMapPath("datamdb")
sql = "select from data"
Set rs = ServerCreateObject("ADODBRecordSet")
rsOpen sql,conn,1,1
Do While Not rsEof
ResponseWrite "<p>姓名:"& rs("username") &" E-mail:"& rs("usermail") &" 查看:"& rs("view") &"次 "& rs("indate") &"加入</p>"
rsMoveNext
Loop
rsClose
Set rs = Nothing
connClose
Set conn = Nothing
说明:建立数据库连接;创建 rs 得到记录集;循环显示记录,rsEof 表示记录末,rsMoveNext 表示移到下一个记录;最后关闭。
五、修改(更新)数据库记录
修改记录的E-mail:
Set conn = ServerCreateObject("ADODBConnection")
connOpen "driver={Microsoft Access Driver (mdb)};dbq="&ServerMapPath("datamdb")
ID = 1
usermail = "ec0705liujuan@163com"
sql = "update data set usermail='"&usermail&"' where ID="&CInt(ID)
connExecute(sql)
connClose
Set conn = Nothing
说明:建立数据库连接;获取记录ID、新 E-mail 字符串;使用 update 语句修改记录;connExecute 来执行;最后关闭。
如果使记录的查看值加1,则:sql = "update data set view=view+1 where ID="&CInt(ID)
六、删除数据库记录
删除某一条记录:
Set conn = ServerCreateObject("ADODBConnection")
connOpen "driver={Microsoft Access Driver (mdb)};dbq="&ServerMapPath("datamdb")
ID = 1
sql = "delete from data where ID="&CInt(ID)
connExecute(sql)
connClose
Set conn = Nothing
说明:建立数据库连接;获取记录ID;使用 delete 语句删除记录;connExecute 来执行;最后关闭。
删除多条记录为:sql = "delete from data where ID in (ID1,ID2,ID3)"
删除所有记录为:sql = "delete from data"
利用Filter和定制Response,把服务器返回的JSP响应输出到我们自己的Response中,就可以将响应快速写入Html文件,然后再发送给客户。
import javaio;
import javaxservlet;
import javaxservlet>
根据数据库字段动态的生成一个页面,利用Filter和定制Response,把服务器返回的JSP响应输出到我们自己的Response中,就可以将响应快速写入Html文件,然后再发送给客户。
import javaio;
import javaxservlet;
import javaxservlet>
import javautilCalendar;
public class CacheFilter implements Filter {
ServletContext sc;
FilterConfig fc;
long cacheTimeout = LongMAX_VALUE;
public void doFilter(ServletRequest req,
ServletResponse res,
FilterChain chain)
throws IOException, ServletException {
>
(>
>
(>
// check if was a resource that shouldn't be cached
String r = scgetRealPath("");
String path =
fcgetInitParameter(requestgetRequestURI());
if (path!= null && pathequals("nocache")) {
chaindoFilter(request, response);
return;
}
path = r+path;
String id = requestgetRequestURI() +
requestgetQueryString();
File tempDir = (File)scgetAttribute(
"javaxservletcontexttempdir");
// get possible cache
String temp = tempDirgetAbsolutePath();
File file = new File(temp+id);
// get current resource
if (path == null) {
path = scgetRealPath(requestgetRequestURI());
}
File current = new File(path);
try {
long now =
CalendargetInstance()getTimeInMillis();
//set timestamp check
if (!fileexists() || (fileexists() &&
currentlastModified() > filelastModified()) ||
cacheTimeout < now - filelastModified()) {
String name = filegetAbsolutePath();
name =
namesubstring(0,namelastIndexOf("/"));
new File(name)mkdirs();
ByteArrayOutputStream baos =
new ByteArrayOutputStream();
CacheResponseWrapper wrappedResponse =
new CacheResponseWrapper(response, baos);
chaindoFilter(req, wrappedResponse);
FileOutputStream fos = new FileOutputStream(file);
foswrite(baostoByteArray());
fosflush();
fosclose();
}
} catch (ServletException e) {
if (!fileexists()) {
throw new ServletException(e);
}
}
catch (IOException e) {
if (!fileexists()) {
throw e;
}
}
FileInputStream fis = new FileInputStream(file);
String mt = scgetMimeType(requestgetRequestURI());
responsesetContentType(mt);
ServletOutputStream sos = resgetOutputStream();
for (int i = fisread(); i!= -1; i = fisread()) {
soswrite((byte)i);
}
}
public void init(FilterConfig filterConfig) {
thisfc = filterConfig;
String ct =
fcgetInitParameter("cacheTimeout");
if (ct != null) {
cacheTimeout = 601000LongparseLong(ct);
}
thissc = filterConfiggetServletContext();
}
public void destroy() {
thissc = null;
thisfc = null;
}
}
以上就是关于免费空间(支持动态的网页)怎么搭建数据库!全部的内容,包括:免费空间(支持动态的网页)怎么搭建数据库!、用DW做动态网页的时候如何连接数据库、动态网页连数据库access的详细过程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)