ASP初级问题,利用ADO进行字符串insert操作时,好多东西看不懂,大家指点一下吧,谢谢了。

msdner 2003-10-21 11:36:56
dim db
set db=Server.Createobject("ADODB.Connection")
db.Open "DBQ="&Server.Mappath("wwwlink.mdb")&";DRIVER={Microsoft Access Driver (*.mdb)};"

Dim strSql,varName,varURL,varIntro
varName=Request("name")
varURL=Request("URL")
varIntro=Request("intro")
StrSql="insert into link(name,URL, intro,submit_date) values('" & varName & "','" & varURL & "','" & varIntro & "','" & Date() & "')"
db.execute(strSql)
Response.Redirect "index.asp"
Else
Response.Write "请将所有信息填写完整"


问题一:StrSql="insert into link(name,URL, intro,submit_date) values('" & varName & "','" & varURL & "','" & varIntro & "','" & Date() & "')"
这一句怎么这么多连接符和引号呢?怎么理解?越看越糊涂。

问题二:insert不是已经对数据库插入了,为什么还要用db.execute(strSql) 这一句,用到execute方法?
...全文
43 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
msdner 2003-10-21
  • 打赏
  • 举报
回复
TO jgjgbb(白菜芯) :

平时,这个连接符是用于连接字符串的。用在这里感觉很别扭的样子。

比如这个插入语句:
StrSql="insert into link(name,URL, intro) values("CSDN.NET"," www.csdn.net "," 开发者网络")" 我就感觉可以接受,因为符合习惯,平时使用的时候,字符串要加双引号,变量都是不加双引号的。这里不但用了双引号,还用了连接符,更是糊涂了。
msdner 2003-10-21
  • 打赏
  • 举报
回复
大家有没有这方面的文章?
msdner 2003-10-21
  • 打赏
  • 举报
回复
谢谢大家。

TO xiaobird1(动力):

要晕了,好多连接符,主要是这要写和原来,感觉不太一样了?
jgjgbb 2003-10-21
  • 打赏
  • 举报
回复
哈:xiaobird1(动力) 老兄啊。你那么写,恐怕那位小兄弟更不明白了。
"&_"
是换行符号。当然在ASP中有用的。但在SQL语句中不支持的。你可以用SQL分析器测试一下。
lovehwq21 2003-10-21
  • 打赏
  • 举报
回复
大家说得够详细了,我不添足了
hhht2003 2003-10-21
  • 打赏
  • 举报
回复
是啊,在网上找些资料看看.
Miriamy 2003-10-21
  • 打赏
  • 举报
回复
因为varname,varURl....是你定义的变量

在提交数据时,字符型的如char varchar 要用 '"&varname&"'

如果是数据库中定义的数字类型的如int identity 在提交时要写成 "&varname&"


insert是SQL的语句,写了都有哪些字段要赋值;但没有入库

conn.execute (sql)

execute是“执行”的意思

xiaobird1 2003-10-21
  • 打赏
  • 举报
回复

StrSql="insert into link(name,URL, intro,submit_date) values(" & _
"'" & varName & "'," & _
"'" & varURL & "'," & _
"'" & varIntro & "'," & _
"'" & Date() & "'" & ")"

初学者最好这样写,看起来就明了多了。
双引号表示是字符串的,在""中的内容都是字符串,而varName这些不是
单引号:当你数据库中字段为字符型数据,需要将insert的值两边加上单引号

跟双引号是两个概念。


asp执行sql语句是通过一个函数完成的,这个函数有一个参数,为字符串型。
你需要把sql语句存为字符串变量,在传递给这个函数Execute。完成执行。

不知道这么说你明白了没有//
jgjgbb 2003-10-21
  • 打赏
  • 举报
回复
哈,我告诉你啊:但是给点分好吗:)
1: 首先是两个概念:双引号是ASP中的分割符,而单引号是SQL语言中的分割符。INSERT语句是SQL语言,所以在VALUES中单引号是用来分割字段的,例如:VALUES('','','')这就是分割了三个字段。而因为你所插入的字段都是变量,那么自然就要使用“&&”来索引他了。对吧。这个你能理解吗。

2:不知道,你使用过记录集吗。记得吗?a=rs("a") 后,有一个rs.update 这里的EXECUTE的命令就是等于哪个UPDATE。
如果你这还不能理解。那我给你分了就该:(
Gfenlin 2003-10-21
  • 打赏
  • 举报
回复
'"&varname&"'这是一个参数,这样你懂了吧

回二:insert只是一个SQL语句,要对数据库执行就要使用execute()这个语句。
msdner 2003-10-21
  • 打赏
  • 举报
回复
我会尽快弄懂的,谢谢大家。晚上回来结帖。
rightyeah 2003-10-21
  • 打赏
  • 举报
回复
根本就不懂asp和ado,搞什么啊
yestou 2003-10-21
  • 打赏
  • 举报
回复
应该先学习ASP,SQL中关于定义和应用变量的规则,然后看起来就比较简单了,其他的再看不懂我就不好说了,请你别给我分,砍我把!
jgjgbb 2003-10-21
  • 打赏
  • 举报
回复
我和你说了啊。ASP语言和SQL语言是不一样的。这个区别就在谁是分隔符号行。ASP是"" 而SQL是'' 你如过照你上边的句子写。你用RESPONSE.WRITE(STRSQL)回写看看。VALUES会变成:
VALUES( , , ,) 正规的应该是 VALUES('','','')
第一个是会报语法错误的。
感觉别扭没关系。多写写程序就好了。努力吧。小兄弟。

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧