ALTER TABLE [dbo].[Resource] WITH NOCHECK ADD
CONSTRAINT [DF_Resource_Status] DEFAULT (0) FOR [Status],
CONSTRAINT [DF_Resource_Price] DEFAULT (10) FOR [Price],
CONSTRAINT [PK_Resource] PRIMARY KEY CLUSTERED
(
[Number]
) ON [PRIMARY]
GO
以上Sql语言的目的是向数据库e-Link建立一个Resource的表,这个表的数据库结构如上,同时设置了字段Status和Price的初始值分别为:0和10,该表的键值是:Number.值得提示的是:表中数据类型中ntext是备注型的,没有长度限制,tinyint是字节型整数.在此,仅仅是一个例子,读者可以根据自己需要修改成为建立自己数据库的.sql文件.
往表中添加数据:从开始->Microsoft SQL Server->导入和导出数据->"下一步"->选择数据源(支持众多的格式,可以方便地选择)->数据库选择,使用SQL Server身份验证,输入用户名(如:sa)和密码->"下一步"->选择要导入的表->立即运行("下一步")->完成.
4、将ASP+Access网站系统转换成为SQL数据库 [返回]
我们知道,对于小型数据库支持的网站,ASP+Access以其简单实用而倍受大家的青睐.然而,随着网站系统的迅速发展,网站系统数据量也变得十分庞大(如:涉及几万注册用户等),这样,Access数据库也变得异常庞大.随之而来的是ASP+Access将占用大量的服务器资源(CPU占用),打开网站变得艰难,并且影响到整个服务器系统,不得不被迫将网站关闭,这将是一个十分痛苦的事情.
这是Access数据库本身的缺陷,因为它是面对小型数据库系统而开发出来的.当然,如果您有足够的ASP编程经验,是可以避免部分此类问题的.但往往您不具备这样的知识和程序修改时间.一个最根本的解决方案就是:将Access数据库转换成为SQL数据库.
假设:您已经有一个Access数据库:e-Link.mdb,该数据库中有几个表:Resource等.其中,表Resource的数据库结构假定为上节中的数据库结构.那么,我们现在转换:
建库:首先在SQL系统中,建立一个数据库(假设为:e-Link),建立方法参见上节.同时,仔细核对您的Access数据库系统,编写"生成数据库结构"的程序:e-Link.sql(注意:一定要仔细核对每个字段、类型、长度和是否允许为空等),然后在查询分析器中执行e-Link.sql.这样,就在SQL数据库中生成您需要的表了.
往表中添加数据:从开始->Microsoft SQL Server->导入和导出数据->"下一步"->数据源(选择Microsoft Access),输入文件名e-Link.mdb->数据库选择e-Link,使用SQL Server身份验证,输入用户名(如:sa)和密码->"下一步"->选择要导入的表->立即运行("下一步")->完成.
如果导入不成功可看看错误提示,如果数据库中没有需要导入的表结构,则系统自动建立相应的表,但这样建立的表操作起来(如:添加新记录)有一些问题,建议大家采用通过.sql程序建库然后再导入数据的方式来建立表和添加数据.
修改conn.asp:首先我们需要建立一个conn.asp,该文件的内容如下(注意:以下程序中的全角"<"和">"分别用半角"<"和">"代替):
<%
dim conn,dbuid,dbpwd,dBName,dbip,rs,database
database=1
'修改以下信息以适合你的网站
'---------------------------------------------------------------------------
dbuid="sa" ' 数据库登陆名(根据自己的情况修改)
dbpwd="123456" ' 数据库密码(根据自己的情况修改)
dBName="e-link" ' 数据库名称(根据自己的情况修改)
dbip="(local)" ' 数据库所在服务器IP地址,如果是本地数据库则为:(local)
'---------------------------------------------------------------------------
set conn=Server.CreateObject("adodb.Connection")
Conn.Open "PROVIDER=SQLOLEDB.1;Data Source="&dbip&";Initial Catalog="&dBName&";Persist Security Info=True;User ID="&dbuid&";Password="&dbpwd&";Connect Timeout=30"
set rs=server.createobject("adodb.recordset")
%>
测试程序:然后,我们可以编写一个简单的程序(Test.asp)来对数据库进行读写操作.Test.asp的内容如下(注意:以下程序中的全角"<"和">"分别用半角"<"和">"代替):
<!--#include file=conn.asp -->
<%
sql = "select * from Resource"
rs.open sql,conn,1,1
i = 1
do while not rs.eof
%>
[<%=i%>] [<%=rs("Name")%>] Status = [<%=rs("Status")%>]
<%
i = i + 1
rs.movenext
loop
rs.close
set rs=nothing
%>
系统测试:经过转换以后,大部分ASP程序应该都能用,当然有一些极个别的语句使用方法不一样,修改起来应该不难,只是需要充分测试就OK了.
混合编程:如果您还需要SQL和Access混合编程(如主站系统是SQL,论坛系统是Access,二者又是相互紧密联系的且互相传递注册和修改信息等),则可以用两个不同的conn.asp和connAccess.asp,用不同的Include,并多运用一些过程,然后再用函数response.redirect()做重新指向就OK了.混合编程实例:英语角[http://www.eng-corner.com]
5、ASP+SQL数据库网站系统实例 [返回]
在这里给大家推荐[惠信新闻系统(SQL)版],在此,[深圳市亿林(e-Link)电子有限公司]提供了["惠信新闻系统(SQL)版"的演示版本](系统管理员:admin,密码:admin).
三、MySQL的安装和实例 [返回]
1、MySQL的安装过程
MySQL的安装过程比较简单,具体操作步骤如下:
用WinRAR打开[MySQL V3.23.56软件包]进行完全安装,默认安装路径为:C:\MySQL(记住:目录请不要设置成为其它目录,否则有可能会出问题);
安装完成后,打开开始->运行,输入命令:C:\MySQL\bin\MySQLd-nt.exe --install,并执行;然后再在:开始->程序->管理工具->服务:找到"MySQL"服务,启动它;至此,MySQL安装完成,重启Win2000 Server。
还应该:开始->运行,输入命令:C:\MySQL\bin\winMySQLadmin.exe,在第一次用它时,需要建立管理员名及密码,分别设置为root和password(输入你的密码)。关闭它后,程序自动在状态行下建立一个"红绿灯"的小图标。
2、MYSQL建立用户基本操作 [返回]
有很多朋友虽然安装好了MySQL但却不知如何使用它。在此简单介绍一下如何连接MYSQL、修改密码、增加用户等方面的常用命令,当然,需要详细了解MySQL系统,还需要其它方面的专业书籍。
连接MYSQL: 格式: MySQL -h主机地址 -u用户名 -p用户密码
首先在打开DOS窗口下进入目录c:\MySQL\bin,然后:A) 如果是连接到远程主机上的MYSQL(假设远程主机IP为:219.129.20.202,用户名为root,密码为abcd123),则键入以下命令:MySQL -h219.129.20.202 -uroot -pabcd123(注意:u与root可以不用加空格).B) 如果是连接到本地主机上的MYSQL,则键入命令MySQL -uroot -p,回车后提示你输密码.C) MYSQL的提示符是:MySQL> ,退出MYSQL命令: exit (回车)
修改密码:格式:MySQLadmin -u用户名 -p旧密码 password 新密码
例:给test加个密码ab12,则键入以下命令:MySQLadmin -utese -password ab12,注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。如再将test的密码改为djg345,则键入以下命令:MySQLadmin -utest -pab12 password djg345
增加新用户。(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)
格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
例1:增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:grant select,insert,update,delete on *.* to test1@"%" Identified by "abc"; 但此例增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的MySQL数据库并对你的数据可以为所欲为了,解决办法见例2。
例2:增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";
如果你不想test2有密码,可以再打一个命令将密码消掉。
grant select,insert,update,delete on mydb.* to test2@localhost identified by "";
3、MYSQL数据库基本操作 [返回]
数据库方面的操作必须先登录到MYSQL中,并在MYSQL提示符下进行的,而且每个命令以分号结束。如果输入命令时,回车后发现忘记加分号,无须重打一遍命令,只要打个分号回车就可以了。也就是说,可以把一个完整的命令分成几行来打,完后用分号作结束标志就OK。同时,可以使用光标上下键调出以前的命令。
简单的数据库操作命令
显示数据库列表:show databases; 刚开始时才两个数据库:MySQL和test。MySQL库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。
显示库中的数据表:use MySQL;(打开库,学过FOXBASE的一定不会陌生吧) show tables;
显示数据表的结构:describe 表名;
建库:create database 库名;
建表:use 库名; create table 表名 (字段设定列表);
删库: drop database 库名;
删表:drop table 表名;
将表中记录清空:delete from 表名;
显示表中的记录:select * from 表名;
|