ASP.net 数据写入问题!!!

gdwuhao 2002-04-11 10:17:40
源码如下:
Dim Conn as oleDbConnection
Dim SQLstr As string
Dim Cd as oledbcommand
Conn= New OleDbConnection()
Conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&server.MapPath("gbook.mdb")
Conn.open()
Sqlstr="insert into Message (title,name,memo,oicq,email,homepage,face) values ('" & title.text & "','" & name.text & "', '" & memo.text & "', '" & oicq.text & "', '" & email.text & "', '" & homepage.text & "', '" & face.SelectedItem.value & "')"
Cd=new oledbcommand (sqlstr,conn)
Cd.ExecuteNonQuery()

错误提示如下:
INSERT INTO 语句的语法错误。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.OleDb.OleDbException: INSERT INTO 语句的语法错误。

源错误:


行 19: Sqlstr="insert into Message (title,name,memo,oicq,email,homepage,face) values ('" & title.text & "','" & name.text & "', '" & memo.text & "', '" & oicq.text & "', '" & email.text & "', '" & homepage.text & "', '" & face.SelectedItem.value & "')"
行 20: Cd=new oledbcommand (sqlstr,conn)
行 21: Cd.ExecuteNonQuery()
行 22: 'Response.write (sqlstr)
行 23: End sub

源文件: E:\wwwroot\guestbook\write.aspx 行: 21


求求各位了。
帮我看看到底是什么问题!
偶已经反复检查过了就是找不出原因!!

...全文
36 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
gdwuhao 2002-04-12
  • 打赏
  • 举报
回复
问题已经解决了,是insert into 字段里的“MEMO”引起的,改为C_MEMO 一切正常!!原因尚未查明,MEMO 是ASP.net的保留字段吗?

特别感谢 mbm(-- (@ \/ @) --)
再次谢谢各位的帮助! !
gdwuhao 2002-04-12
  • 打赏
  • 举报
回复
Conn.open()
Cd=new oledbcommand (sqlstr,conn)
Cd.ExecuteNonQuery()
这几句是一样的!
zfhuangwei 2002-04-12
  • 打赏
  • 举报
回复
应该是在最后加这个
myCommand.Connection.Open()
myCommand.ExecuteNonQuery()
MyConnection.Close()
这样才能执行的试一试
gdwuhao 2002-04-12
  • 打赏
  • 举报
回复
设了的!
mbm 2002-04-12
  • 打赏
  • 举报
回复
你是不是没设置主健,把id设为主健
gdwuhao 2002-04-12
  • 打赏
  • 举报
回复
就是用这个方法呀!
Sqlstr="insert into Message Values ('" & title.text & "','" & name.text & "', '" & memo.text & "', '" & oicq.text & "', '" & email.text & "', '" & homepage.text & "', '" & face.SelectedItem.value & "')"

我把的我源码打了个包,有兴趣可以下回去看!
http://www.kateng.com/gbook.zip
mbm 2002-04-12
  • 打赏
  • 举报
回复
那你以前在access中是怎样向含有自增字段的表里插入新数据的?可能sqlserver和access不一样,你先在access里试验插入如果做,然后在到.net里试
gdwuhao 2002-04-12
  • 打赏
  • 举报
回复
这样的写入是要把ID段去掉的,
以前写ASP 的时候也一直用:
inser into listname (……)values(……)
这种方式


inser into listname values(……)
这种方式一直没用过,在搞这个问题的时候实在没办法了,就把ID段去掉然后用这种方式试试,写入是成功的!
mbm 2002-04-12
  • 打赏
  • 举报
回复
你把字段名去掉就能正常运行,搞不懂了,我在想想
补充一句,我是在sqlserver里能正常运行的

Sqlstr="insert into Message Values ('" & title.text & "','" & name.text & "', '" & memo.text & "', '" & oicq.text & "', '" & email.text & "', '" & homepage.text & "', '" & face.SelectedItem.value & "')"
你这样写可以,但你的id字段是标志列,int型,自动+1,设置非空。
你这样写时运行后库表里总不会是null吧,因为非空呀
gdwuhao 2002-04-12
  • 打赏
  • 举报
回复
再试试!
mbm 2002-04-12
  • 打赏
  • 举报
回复
“/guestbook”应用程序中的服务器错误。
--------------------------------------------------------------------------------

运行时错误
说明: 服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止远程查看应用程序错误的详细信息(出于安全原因)。但可以通过在本地服务器计算机上运行的浏览器查看。

详细信息: 若要使他人能够在远程计算机上查看此特定错误信息的详细信息,请在位于当前 Web 应用程序根目录下的“web.config”配置文件中创建一个 <customErrors> 标记。然后应将此 <customErrors> 标记的“mode”属性设置为“Off”。


<!-- Web.Config 配置文件 -->

<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>


注释: 通过修改应用程序的 <customErrors> 配置标记的“defaultRedirect”属性,使之指向自定义错误页的 URL,可以用自定义错误页替换所看到的当前错误页。


<!-- Web.Config 配置文件 -->

<configuration>
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
</system.web>
</configuration>


gdwuhao 2002-04-12
  • 打赏
  • 举报
回复
我刚才看错了!!:)
mbm 2002-04-12
  • 打赏
  • 举报
回复
t是表明
你那里是
inset into message(.......
gdwuhao 2002-04-12
  • 打赏
  • 举报
回复
相关页面:http://218.20.53.122/guestbook/write.aspx
gdwuhao 2002-04-12
  • 打赏
  • 举报
回复
Insert into t(name,sex) values('mbm','男')

这个有个"t" ?

mbm 2002-04-12
  • 打赏
  • 举报
回复
假如一个表t由三个字段:ID,name,sex
ID是自动生成的,并且依次+1
用Insert into t(name,sex) values('mbm','男')
这样写是没有任何问题的
gdwuhao 2002-04-12
  • 打赏
  • 举报
回复
是的!
mbm 2002-04-12
  • 打赏
  • 举报
回复
你是不是在这些字段前还有一个自动生成的ID字段
gdwuhao 2002-04-12
  • 打赏
  • 举报
回复
各位说的,我都检查过了,SQLstr也在查询里运行通过!
如果改成这样:
Sqlstr="insert into Message Values ('" & title.text & "','" & name.text & "', '" & memo.text & "', '" & oicq.text & "', '" & email.text & "', '" & homepage.text & "', '" & face.SelectedItem.value & "')"
的写入方式就正常!但这样数据库就不能有ID(自动编号)字段了!
when 2002-04-12
  • 打赏
  • 举报
回复
用response.write Sqlstr
response.end
运行后,到sql server查询分析器运行看看什么地方出错
加载更多回复(3)

62,253

社区成员

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

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

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

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