倒,,,刚仔细一看,也是你的贴。。。
刚回答了一个网友的同样的关于update的问题,转过来一下:
asp更新数据库时,可以用以下方式(我常用的,还有其他的方式):
一、用recordset记录集的方式。
rs.open "select * from tablename where id="&request("id"),conn,1,3
rs("a")=request("a")
rs("b")=request("b")
rs.update
rs.close
用这种方式进行数据更新,有个好处就是当要更新的数据量非常大时,也可以很顺利的更新成功(比如备注型字段的数据,中间还包含了换行等等的)
二、用sql的update语句:
conn.execute("update tablename set a='"&request("a")&"',b='"&request("b")&"',c="&request("c")&" where id="&request("id"))
用上面的方法更新数据时,如果是SQL数据库,而你要更新的数据内容里含有比如单引号['],双横线[--]之类的特殊字符,就会更新不成功的,因为这时候SQL会认为是非法字符,而把你的单引号给去掉的。而且当如果更新的是备注型字段,里面包含了换行等字符,也会显得很乱。但用这种方法更新,速度比用recordset的速度要快很多,因为毕竟这是直接更新数据库,而recordset是对update的封装形式。
其实更新数据库,非常简单,如果你对字符串连接的单引号,双引号,&号的使用觉得很混乱,那就用recordset的方式进行,这样会很清晰,一点都不会有混乱的感觉的。而如果你能熟练的使用单引号,双引号,&号,那么你用update语句更新数据库,就大在的提交了速度(当然如果数据量小,我建议用recordset记录集的方式,因为这种方式一个字段对应一个值,一行一个,这样下来,很清晰,还可以对每行做个备注,以后改起来也方便。而用update的方式,所有的值和记录全部连在一块,老长的一串,看得人头都发麻,而且update还不能添加特殊字符,比如上面说的单引号等。。。)
刚回答的这个问题地址:http://zhidao.baidu.com/question/18663956.html
Update 语句用于更新单表中选定行的一列或多列的值。要更新的目标表在语句中定义, Set 子句则指定要更新哪些列并计算他们的值。 Update 语句总是包含 Where 语句,而且 Update 语句比较危险,所以您必须明确地认识到 Where 语句的重要性, Where 语句被用来指定需要更新的行。
标准语法:
UPDATE table_name
SET columnname1 = value1
[, columname2 = value2]...
WHERE search_condition
以下是一个简单的 Update 语句的例子 :
Update customers
Setcredit=100000.00,id=99
Where name='asp'
在此例中我们将表 customers 中客户名为 asp 的客户的信贷值更新为 10 万并将他的 ID 变更为 99。再看下例:
Update customers
Setcredit=200000.00,state=021
Where ID in (80,90,100,120)
我们可以发现,其实 SQL 处理 Update 语句的过程就是逐行遍历所指定的表,更新其搜索条件结果为“真”的行,跳过其搜索条件结果为“假”或“空”的行。
和在SQL SERVER 中的语法是一样的,如果有变量的话就这样写,如:“update table set age="+myAge+" and name='"+myName+"' where id=2”,其中的myAge和myName都是变量。
update 表名 set 字段1=值1,字段2=值2,... where 条件语句
update 表 set 字段1=值1,字段2=值2,... where 条件