|
主题: 请教一个数据库的问题---含有参数的SQL语句
|
zt
职务:普通成员
等级:1
金币:1.0
发贴:229
|
#12003/5/29 15:38:26
以下为我写的代码,但输入数据后报出错,请指点,谢谢 ====================================== <%@Import Namespace="System.Data"%> <%@Import Namespace="System.Data.Oledb"%> <%@ Page Language="VB" ContentType="text/html" Debug="true" ResponseEncoding="gb2312" %> action query:Insert dataInsert.aspx--Add NewData into Table1
|
zt
职务:普通成员
等级:1
金币:1.0
发贴:229
|
#22003/5/29 15:41:54
出错信息如下, ============================= Server Error in '/prac' Application. --------------------------------------------------------------------------------
INSERT INTO 语句的语法错误。 Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.OleDb.OleDbException: INSERT INTO 语句的语法错误。
Source Error:
Line 50: Cmd.Parameters("Maths").value=Val(Maths.Text) Line 51: Line 52: Cmd.ExecuteNonQuery() Line 53: If Err.Number <> 0 Then Line 54: Msg.Text=Err.Description 。。。。。 ============= Line 52被IE加红显示。在下正在努力学习.NET中,请各位多多指教
|
zt
职务:普通成员
等级:1
金币:1.0
发贴:229
|
#32003/5/29 16:33:40
急,顶一下,在下正是初学,请帮助
|
老张
职务:普通成员
等级:5
金币:10.0
发贴:2796
|
#42003/5/29 17:39:23
这一句是什么呀 sql="Insert Into Table1 (No,Name,Chinese,English,Maths) values (?,?,?,?,?)"
|
zt
职务:普通成员
等级:1
金币:1.0
发贴:229
|
#52003/5/31 9:53:01
语句不对吗?我是要将数据插入到Table1中,Talble1的字段为No,Name,Chinese,English,Maths,值为Textbox中输入的值。请高手说得详细一点。
|
{ 在指尖上绽放的花朵 }
职务:普通成员
等级:5
金币:14.0
发贴:3209
|
#62003/5/31 20:11:46
首先,如果No字段是自动编号的话,它不能被写入。
其次,textbox 输入的值的话,程序似乎应该是这样的?
sql="Insert Into Table1 (No,Name,Chinese,English,Maths) values (" & Request.form("xxx") & "," & Request.form("xxx") & "," & Request.form("xxx") & "," & Request.form("xxx") & "," & Request.form("xxx") & ")"
|
zt
职务:普通成员
等级:1
金币:1.0
发贴:229
|
#72003/6/1 9:48:56
谢谢楼上二位指点,但我是迟钝一些的,好像不太明白,请继续帮我 ===================================== 我的NO并非自动编号,我是看一本.net教材写的,用textbox输入, ?????表示参数,下面的第一组parameter定义输入数值的属性, 第二组parameter确定输入的数值(教材如此讲解,王国荣的asp.net网页制作教程),就我个人而言,我也认为应该用request,但教材编写程序基本如上,并说?代表参数,且此语句因此被称为带参数的sql语句,由于某些原因(可能是条件所限,我的简体系统装的是繁体framework,范例亦是繁体,或是系统不稳),我无法运行范例光盘中某些带繁体字的aspx网页,故无法验证范例正确与否,在此请高手解惑。再谢。
|
zt
职务:普通成员
等级:1
金币:1.0
发贴:229
|
#82003/6/2 11:33:01
真的没人知道吗?不会吧,这对于各位高手来说,应该是个很简单的问题呀,仅仅是一个语句啊
|
zt
职务:普通成员
等级:1
金币:1.0
发贴:229
|
#92003/6/2 16:31:48
困了好几天,这个搞不懂,具名参数也就过不去,请帮帮我
|
彩云传说
职务:普通成员
等级:2
金币:10.0
发贴:618
|
#102003/6/4 15:25:15
我没看出有什么大的问题来 按我的理解,问题应该还是数值添加和确定的方面 写成这样试试: Cmd.Parameters.Add("@No",OledbType.Integer).value=No.Text; Cmd.Parameters.Add("@name", OleDbType.Char, 10).value = Name.Text; Cmd.Parameters.Add("@Chinese",OleType.SmallInt).value=Chinese.Text; Cmd.Parameters.Add("@English",OleType.SmallInt).value=English.Text; Cmd.Parameters("@Maths",OledbType.SmallInt).value=Maths.Text;
|
zt
职务:普通成员
等级:1
金币:1.0
发贴:229
|
#112003/6/5 10:19:21
感动,太感动了,达闻西,你终于来了。谢谢。 修正你的代码如下: =========================== Cmd.Parameters.Add("@No",OledbType.Integer).value=No.Text Cmd.Parameters.Add("@name", OleDbType.Char, 10).value = Name.Text Cmd.Parameters.Add("@Chinese",OleDbType.SmallInt).value=Chinese.Text Cmd.Parameters.Add("@English",OleDbType.SmallInt).value=English.Text Cmd.Parameters.Add("@Maths",OledbType.SmallInt).value=Maths.Text ==================================== 粘入网页,还是报Cmd.ExecuteNonQuery()出错,Insert.Into不对。。
编辑历史:[这消息被zt编辑过(编辑时间2003-06-05 10:24:13)] [这消息被zt编辑过(编辑时间2003-06-05 10:25:10)]
|
zt
职务:普通成员
等级:1
金币:1.0
发贴:229
|
#122003/6/5 10:28:29
将5个?分别换成@No,@Name,@Chinese,@English,@Maths再试,还是一样的错误。到底哪里写错了?
|
彩云传说
职务:普通成员
等级:2
金币:10.0
发贴:618
|
#132003/6/5 10:31:22
这一段你有没有DEL掉? Cmd.Parameters("No").value=Val(No.Text) Cmd.Parameters("Name").value=Name.Text Cmd.Parameters("Chinese").value=Val(Chinese.Text) Cmd.Parameters("English").value=Val(English.Text) Cmd.Parameters("Maths").value=Val(Maths.Text)
|
zt
职务:普通成员
等级:1
金币:1.0
发贴:229
|
#142003/6/5 10:33:32
会不会跟系统有关,我用的是简体中文XP+IIS,数据库用OFFICE2002做的,因为用的是繁体.framework,所以我的数据库和ASPX网页避免用中文字,全用英文。
|
zt
职务:普通成员
等级:1
金币:1.0
发贴:229
|
#152003/6/5 10:35:15
太好了,你在线,是的,我已del掉你说的那一段才试的
|