|
主题: 高手....帮我看看这是什么问题!
|
yiwen2004
职务:普通成员
等级:1
金币:0.0
发贴:13
|
#12004/7/6 12:36:45
问题代码如下: <% // *** Insert Record: construct a sql insert statement and execute it
if (String(Request("MM_insert")) != "undefined") {
// create the sql insert statement var MM_tablevalues = "", MM_dbvalues = ""; for (var i=0; i+1 < MM_fields.length; i+=2) { var formVal = MM_fields[i+1]; var MM_typesArray = MM_columns[i+1].split(","); var delim = (MM_typesArray[0] != "none") ? MM_typesArray[0] : ""; var altVal = (MM_typesArray[1] != "none") ? MM_typesArray[1] : ""; var emptyVal = (MM_typesArray[2] != "none") ? MM_typesArray[2] : ""; if (formVal == "" || formVal == "undefined") { formVal = emptyVal; } else { if (altVal != "") { formVal = altVal; } else if (delim == "'") { // escape quotes formVal = "'" + formVal.replace(/'/g,"''") + "'"; } else { formVal = delim + formVal + delim; } } MM_tablevalues += ((i != 0) ? "," : "") + MM_columns[i]; MM_dbvalues += ((i != 0) ? "," : "") + formVal; } MM_editQuery = "insert into " + MM_editTable + " (" + MM_tablevalues + ") values (" + MM_dbvalues + ")";
if (!MM_abortEdit) { // execute the insert var MM_editCmd = Server.CreateObject('ADODB.Command'); MM_editCmd.ActiveConnection = MM_editConnection; MM_editCmd.CommandText = MM_editQuery; MM_editCmd.Execute(); MM_editCmd.ActiveConnection.Close();
if (MM_editRedirectUrl) { Response.Redirect(MM_editRedirectUrl); } }
} %> ------------------------------------------------------------------------------ 但是执行网页时出现如下错误:
错误类型: Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC Microsoft Access Driver] INSERT INTO 语句的语法错误。 /1.asp, 第 78 行
浏览器类型: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
网页: POST 70 ??? /1.asp
POST Data: name=fffffffffffffff&number=ffffff&Submit=%CC%E1%BD%BB&MM_insert=form1
时间: 2004年7月6日, 12:35:06
------------------------------------------------------------------------------ 请问这是什么原因啊?
|
缺缺
职务:管理员
等级:8
金币:41.0
发贴:9620
|
#22004/7/6 12:40:33
if (!MM_abortEdit) {
// 输出sql
Response.write(MM_editQuery)
Response.end()
//
var MM_editCmd = Server.CreateObject('ADODB.Command');
MM_editCmd.ActiveConnection = MM_editConnection;
MM_editCmd.CommandText = MM_editQuery;
MM_editCmd.Execute();
MM_editCmd.ActiveConnection.Close(); 看看输出的sql语句是不是有问题
|
yiwen2004
职务:普通成员
等级:1
金币:0.0
发贴:13
|
#32004/7/6 17:42:44
真不知道是什么原因啊!!! 我看了其它的网页的代码(能够输入数据,并且没有出错!),和我在上面的第一段代码一样,但是没有出错。所以我很纳闷,真不知错在哪里!!!
|
yiwen2004
职务:普通成员
等级:1
金币:0.0
发贴:13
|
#42004/7/6 17:51:01
“allinhands”,您给的修改之后的代码,输入之后显示出了 -------------------------------- insert into A (number) values ('ddddddddd ') -------------------------- 当然"A"是我的数据表,"number"是字段名,"dddddddddd"就是里面的内容。 所以,我觉得问题是有,但问题出在哪儿,我真的挺迷惑。
|
缺缺
职务:管理员
等级:8
金币:41.0
发贴:9620
|
#52004/7/6 20:19:56
A就是表名,number就是字段名么?
|
yiwen2004
职务:普通成员
等级:1
金币:0.0
发贴:13
|
#62004/7/7 0:41:46
数据表的名是A,表中,有一个字段名取名number啊,然后,以显示出的结果看,ddddddd,几个字母就是说已经能够数入到number 这个字段名中去了啊。 但是在网页显示时,删掉 Response.write(MM_editQuery) Response.end() 则还是会出现问题所示的同一错误。
|
yiwen2004
职务:普通成员
等级:1
金币:0.0
发贴:13
|
#72004/7/7 0:43:12
不过,我将number改为num之后问题就解决了。 奇怪之极,让我自己也一头雾水,不过还是得谢谢您的帮助。
|