asp中 insert语句 出错

来源:百度知道 编辑:UC知道 时间:2024/06/27 08:45:42
Set Conn = Server.CreateObject("ADODB.Connection") '/connection的连接
P1="Provider=Microsoft.Jet.OLEDB.4.0;" '/连接方式OLEDB
Path1="Data Source="&Server.MapPath("Users.mdb") '/数据源
Conn.Open P1&Path1 '/打开方式
Set rs = Server.CreateObject("ADODB.Recordset") '/recordset的创建
sql="Select * From Users Where zhuxian='"&zhuxian&"'" '/Users 数据表,Select查询
rs.Open sql,Conn,0,1 '/Recordset的格式
If rs.EOF AND rs.BOF Then '/
sql="Insert Into Users (zhuxian,password,name,email,province,city,zip,phon) values
(' "&zhuxian&" ',' "&Password&" ',' "&Name&_
" ',' "&Email&" ',' "&Province&" ',' "&City&_
" ',' "&Address&" ',' "&Zip&" ',' "&Phon&" ')"<

一楼的不懂不要乱说,"&Name&_ 后面的下划线代表换行连接符,去掉就换行了,加上它代表还是一行!

sql="Insert Into Users (zhuxian,password,name,email,province,city,zip,phon) values
(' "&zhuxian&" ',' "&Password&" ',' "&Name&_
" ',' "&Email&" ',' "&Province&" ',' "&City&_
" ',' "&Address&" ',' "&Zip&" ',' "&Phon&" ')"
以上代码中,values 下面的代码换行了,这样不行的,要不你把下划线全部去掉,把SQL语句连成一行,SQL语句不允许换行,如果要换行,每行结尾都必须加换行连接符 _ ,如果你不熟悉,这样做容易出错,还是连成一行好点.

"&Name&_
后面那个_是什么?去掉试试

&符号前后都要有空格,不知道你是不是注意到了。
sql语句有时要求很严格的,建议你还是规范一点写好。

我在公司里经常写存储过程,都是很长很长的那种,我的习惯是标点紧跟前面一个字符,标点后面一定有一个空格,如果是操作符,那么两边都要有空格,这样看起来好看,也便于差错!

跟踪一下程序,看看SQL语句是否正确,同时建议你把每个字段名都用“[]”括起来,以防止你的字段名称和保留字冲突。