我要疯了,大伙帮我看看问题到底出在哪里?

sbxkpl 2004-04-23 05:51:00
一个vb.net的插入语句,每次都是出现:INSERT INTO 语句的语法错误。我实在找不出问题出在什么地方,请各位ggjjddmm们帮帮我吧!我真的被它搞得头大了,要疯了!!
'定义函数
Sub ExecuteSQL(Sql As String)
Dim myCmd As OleDbCommand
myCmd = New OleDbCommand(Sql,myConn)
myConn.Open()
myCmd.ExecuteNonQuery()
myConn.Close()
End sub
'
Sub Page_Load(sender As Object, e As EventArgs)
Dim strConn As String
strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&server.mappath("/qkglxt/data/data.mdb")
myConn = New OledbConnection(strConn)

if not page.ispostback then
Sql = "SELECT HTLBID, HTLB FROM tblgjlb ORDER BY HTLBID"
dlHTLB.DataTextField="HTLB"
dlHTLB.DataValueField="HTLBID"
dlHTLB.DataSource = GetDataView(Sql,"HTLB")
dlHTLB.DataBind()

Sql = "SELECT z_id, zhichen FROM tblzhichen ORDER BY zhichen"
EZHIWU.DataTextField="z_id"
EZHIWU.DataValueField="zhichen"
EZHIWU.DataSource = GetDataView(Sql,"z_id")
EZHIWU.DataBind()
end if
End Sub
'确定
sub check_user(sender as object,e as eventargs)
Dim okSql as String
oksql = "INSERT INTO expert(e_name,e_pass,e_realm,e_zhiwu,e_tal,e_email,e_unit,e-add,contents,e_remarks) VALUES( "
oksql = oksql & ENAME.text & "','"
oksql = oksql & EPASS.text & "','"
oksql = oksql & dlHTLB.SelectedItem.Value & "','"
oksql= oksql & EZHIWU.SelectedItem.Value & "','"
oksql = oksql & ETALL.text & "','"
oksql = oksql & EEMAIL.text & "','"
oksql = oksql & EUNIT.text & "','"
oksql = oksql & EADD.text & "','"
oksql = oksql & CONTENTS.text & "','"
okSql = okSql & " ')"

ExecuteSQL(okSql)
me.Response.Redirect("main.aspx")

end sub

...全文
38 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
相信的勇气 2004-04-23
  • 打赏
  • 举报
回复
监视一下oksql的内容,把它拷贝到access中执行,看看报不报错!

我觉得是开始的时候少了一个'
VALUES( "
好像差个单引句

VALUES( '"
Silenthunter 2004-04-23
  • 打赏
  • 举报
回复
把你的oksql 的内容用Response显示到客户端 比较好查错
aero_boy 2004-04-23
  • 打赏
  • 举报
回复
VALUES( "
好像差个单引句

VALUES( '"
黄金安魂曲 2004-04-23
  • 打赏
  • 举报
回复
oksql = "INSERT INTO expert (e_name,e_pass,e_realm,e_zhiwu,e_tal,e_email,e_unit,e-add,contents,e_remarks) VALUES('" & ENAME.text & "','" & EPASS.text & "','" & dlHTLB.SelectedItem.Value.ToString() & "','" & EZHIWU.SelectedItem.Value.ToString() & "','"& ETALL.text & "','" & EEMAIL.text & "','" & EUNIT.text & "','" & EADD.text & "','" & CONTENTS.text & "',' ')"
你把这个字符串拷去看看!!
我知道你错在哪了,在VALUES( "前添一个单引号,即VALUES('"
黄金安魂曲 2004-04-23
  • 打赏
  • 举报
回复
孟老大的意思是把oksql的值写在页面上,这样不叫好检查
黄金安魂曲 2004-04-23
  • 打赏
  • 举报
回复
设置断点,选择调试(F11单步),程序运行到ExecuteSQL(okSql)时,双击okSql选中,按Ctrl+Alt+Q取出其值,在SQL的查询分析器中运行一下,它会告诉你错在哪。
sbxkpl 2004-04-23
  • 打赏
  • 举报
回复
唉,不行不行,还是不行,郁闷!我用同样的格式在另一个页面添加数据,却可以,只不过是数据表和数据字段不同而已!孟老大,你所说的Response.Write(oksql)怎么用,我加入了,怎么一点反应也没有,不过我也不知道这是什么意思,呵呵。。。
smx717616 2004-04-23
  • 打赏
  • 举报
回复
同意大家的说法
黄金安魂曲 2004-04-23
  • 打赏
  • 举报
回复
还有,VALUES("的这个"去掉
黄金安魂曲 2004-04-23
  • 打赏
  • 举报
回复
你数据库里字段是字符串吧?那要加单引号的,你加在后面有什么用?
oksql = "INSERT INTO expert(e_name,e_pass,e_realm,e_zhiwu,e_tal,e_email,e_unit,e-add,contents,e_remarks) VALUES( "
oksql = oksql & "'" & ENAME.text & "',"
oksql = oksql & "'" & EPASS.text & "',"
... ...
不是字符串的可别加引号了
bitsbird 2004-04-23
  • 打赏
  • 举报
回复
细心点,就是单引号和双引号要注意,都是对称的
ljmay168 2004-04-23
  • 打赏
  • 举报
回复
最開始這個oksql少了一個單引號
oksql = "INSERT INTO expert(e_name,e_pass,e_realm,e_zhiwu,e_tal,e_email,e_unit,e-add,contents,e_remarks) VALUES( '"
孟子E章 2004-04-23
  • 打赏
  • 举报
回复
vb.net可以用+了
oksql = oksql + EADD.text & "','"

....
孟子E章 2004-04-23
  • 打赏
  • 举报
回复
Response.Write(oksql)看是什么

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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