[心缘地方]同学录
首页 | 功能说明 | 站长通知 | 最近更新 | 编码查看转换 | 代码下载 | 常见问题及讨论 | 《深入解析ASP核心技术》 | 王小鸭自动发工资条VBA版
登录系统:用户名: 密码: 如果要讨论问题,请先注册。

[ASP]俺写的ASP超简略教程---第三节:DB操作

上一篇:[ASP]俺写的ASP超简略教程---第二节:使用Request对象接收变量
下一篇:[备忘]编译时,报Could not execute CVTRES.EXE……

添加日期:2007/6/26 23:56:19 快速返回   返回列表 阅读4255次
DB操作
----------------------------
DB操作的基本步骤就是:
(1)建立连接
(2)执行操作
(3)关闭连接

建议的做法是:
在每个需要进行DB操作的页面,都进行以上3个步骤。
---------------------------------------------------
(1)建立连接的方法

set conn=server.createobject("Adodb.Connection")
str="Provider=SQLOLEDB;Data Source=192.168.0.1;Initial Catalog=Book;User Id=sa;Password=123;"
conn.open str


<1>Adodb.Connection顾名思义,是操作连接的对象
<2>conn就是一个对象实例的变量名,注意,声明一个对象实例,前面要有set。
<3>连接字符串中,声明了使用SQLOLEDB,也就是连接SQL Server,数据源是192.168.0.1,初始的数据库是Book。
如果是连接Access,Oracle等数据库,连接字符串的写法是不同的。
<4>使用Open方法之后,Conn这个连接就是打开的了,可以进行DB操作了。


(2)常见DB操作
常见的操作也就是插入数据,修改数据,删除数据。

只要构建相应的SQL语句,然后调用Connection对象的Execute 方法执行即可。

如:
sql="inser into xx(a,b,c) values('1',2,'3')"
conn.execute sql

sql="update xx set ...where ..."
conn.execute sql

sql="delete from ...where ..."
conn.execute sql

通常,这个SQL都需要通过拼接得到。

(3)关闭连接
一定要记得关闭连接。(数据库的连接是宝贵的)

conn.close '关闭连接
set conn=nothing '设置变量为nothing,可以释放变量

(4)注意事项
通常的原则就是:尽可能晚的建立连接,尽可能早的释放连接。

这样,可以给DB留下更多的可用连接,从而增强系统的性能。

比如,接收变量之后,需要进行很多的判断、循环、运算等处理,然后才会更新DB,

那么就不必一开始就建立连接。

--------------------------------------------------------------------------------
今日作业:

比较简单,

接上次作业,将接收到变量保存到数据库。

表结构如下:
---------------------------------------------------
CREATE TABLE [dbo].[BOOK] (
    [book_id] [int] IDENTITY (1, 1) NOT NULL ,
    [book_name] [nvarchar] (200) COLLATE Chinese_PRC_BIN NULL ,
    [book_author] [nvarchar] (100) COLLATE Chinese_PRC_BIN NULL ,
    [book_translator] [nvarchar] (100) COLLATE Chinese_PRC_BIN NULL ,
    [book_publisher] [nvarchar] (100) COLLATE Chinese_PRC_BIN NULL ,
    [book_publishDate] [datetime] NULL ,
    [book_pageNumber] [int] NULL ,
    [book_ISBN] [nvarchar] (40) COLLATE Chinese_PRC_BIN NULL ,
    [book_Content] [ntext] COLLATE Chinese_PRC_BIN NULL 
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
----------------------------------------------------------


点评补记:

忘记点评了………………
 
大家都按时完成了任务,好!
----------------------------------------------------------------------------
 
1.一点提醒。
 
字段是文本型,值的左右用单引号括起来。
 
数字型,不用括起来。如book_pageNumber,左右就不必用单引号。因为SQL Server自动进行了转换,所以没出问题。
 
日期型,也是单引号。
 
2。注意替换输入中的单引号。
 
大家可以试一下在表单中输入包括单引号的文本,提交后会出错的……
 
这是因为单引号是本来正确的SQL语句不正确了…………
 
解决方法就是将一个单引号替换为两个单引号
 
aaa=replace(aaa,"'","''")  别晕啊。
 
不仅是ASP,其他php,jsp等等都是这样的,只要是拼接SQL,首先就要想到替换单引号。

 

评论 COMMENTS
没有评论 No Comments.

添加评论 Add new comment.
昵称 Name:
评论内容 Comment:
验证码(不区分大小写)
Validation Code:
(not case sensitive)
看不清?点这里换一张!(Change it here!)
 
评论由管理员查看后才能显示。the comment will be showed after it is checked by admin.
CopyRight © 心缘地方 2005-2999. All Rights Reserved