标题:[求助] insert into 语句的语法错误.....
只看楼主
pearzxf
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-1-9
 问题点数:0 回复次数:5 
[求助] insert into 语句的语法错误.....



用户注册资料填完,左上方就出现


到底哪个地方有问题啦~~

If Page.IsValid Then
Try
Dim con As New OleDbConnection
con.ConnectionString = "provider=microsoft.jet.oledb.4.0;data source=" & Server.MapPath("../fdkasasdka/database/yonghuzhuce.mdb")
Dim cmd As New OleDbCommand
cmd.CommandText = "insert into person(id,password,name,sex,birthdate,zjhm,email,address) values (@id,@password,@name,@sex,@birthdate,@zjhm,@email,@address)"
cmd.Parameters.Add(New OleDbParameter("@id", OleDbType.VarChar))
cmd.Parameters("@id").Value = TextBox1.Text
cmd.Parameters.Add(New OleDbParameter("@password", OleDbType.VarChar))
cmd.Parameters("@password").Value = TextBox2.Text
cmd.Parameters.Add(New OleDbParameter("@name", OleDbType.VarChar))
cmd.Parameters("@name").Value = TextBox4.Text
cmd.Parameters.Add(New OleDbParameter("@sex", OleDbType.VarChar))
cmd.Parameters("@sex").Value = RadioButton1.Text
cmd.Parameters("@sex").Value = RadioButton2.Text
cmd.Parameters.Add(New OleDbParameter("@birthday", OleDbType.Date))
cmd.Parameters("@birthday").Value = TextBox5.Text
cmd.Parameters.Add(New OleDbParameter("@zjhm", OleDbType.VarChar))
cmd.Parameters("@zjhm").Value = TextBox6.Text
cmd.Parameters.Add(New OleDbParameter("@email", OleDbType.VarChar))
cmd.Parameters("@email").Value = TextBox7.Text
cmd.Parameters.Add(New OleDbParameter("@address", OleDbType.VarChar))
cmd.Parameters("@address").Value = TextBox8.Text
cmd.Connection = con
con.Open()
cmd.ExecuteNonQuery()
con.Close()
Catch ex As Exception
Response.Write(ex.Message)
End Try
End If
搜索更多相关主题的帖子: insert 语法 语句 
2007-06-16 14:06
iceqier
Rank: 1
等 级:新手上路
威 望:1
帖 子:129
专家分:0
注 册:2006-1-22
得分:0 

我觉得cmd.Parameters.Add(New OleDbParameter("@address", OleDbType.VarChar))这里不应该在new一个OleDbParameter
直接用cmd.Parameters.Add("@address", OleDbType.VarChar)


天天摸键盘,整天看代码。。。 E-mail : iceqier520@
2007-06-16 21:57
ChenMo
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:3
帖 子:481
专家分:10
注 册:2004-4-8
得分:0 
cmd.CommandText = "insert into person(id,password,name,sex,birthdate,zjhm,email,address) values (@id,@password,@name,@sex,@birthdate,@zjhm,@email,@address)"

该成这样试试:
cmd.CommandText = "insert into person([id],[password],[name],[sex],[birthdate],[zjhm],[email],[address]) values (@id,@password,@name,@sex,@birthdate,@zjhm,@email,@address)"

欢迎加入 MVC 技术讨论群(新群:90093426)
2007-06-21 18:54
为记忆上锁
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:96
专家分:0
注 册:2007-4-27
得分:0 
3楼正解, id 和name 在sql里也是 关键字

没有你得不到滴,只有你不想要滴
2007-06-21 21:24
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
得分:0 
你的ID是 int型还是varchar型????

飘过~~
2007-06-23 13:07
Kendy123456
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:62
帖 子:2720
专家分:0
注 册:2007-1-3
得分:0 
虽然ID和name在sql中确实是keyword,但是你不用方括号括起来 在SQL Server中运行也不会出错。当然楼主是用的Access 我没有试过

最通常的方法 cmd.ExecuteNonQuery()这里设置一个断点 在这里取一下cmd的commandtext的值 把这个字符串直接拿到Access里面取运行看看 就知道是什么错误了

2007-06-26 11:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-147991-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020749 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved