代码如下:谁能帮忙看看,多谢了 <%@LANGUAGE="JAVASCRIPT" CODEPAGE="936"%> <!--#include file="Connections/members.asp" --> <% // *** Edit Operations: declare variables// set the form action variable var MM_editAction = Request.ServerVariables("SCRIPT_NAME"); if (Request.QueryString) { MM_editAction += "?" + Server.HTMLEncode(Request.QueryString); }// boolean to abort record edit var MM_abortEdit = false;// query string to execute var MM_editQuery = ""; %> <% // *** Insert Record: set variablesif (String(Request("MM_insert")) == "form1") { var MM_editConnection = MM_members_STRING; var MM_editTable = "member"; var MM_editRedirectUrl = "registeok.html"; var MM_fieldsStr = "textfield|value|textfield2|value|textfield3|value"; var MM_columnsStr = "username|',none,''|password|',none,''|e-mail|',none,''"; // create the MM_fields and MM_columns arrays var MM_fields = MM_fieldsStr.split("|"); var MM_columns = MM_columnsStr.split("|");
// set the form values for (var i=0; i+1 < MM_fields.length; i+=2) { MM_fields[i+1] = String(Request.Form(MM_fields[i])); } // append the query string to the redirect URL if (MM_editRedirectUrl && Request.QueryString && Request.QueryString.Count > 0) { MM_editRedirectUrl += ((MM_editRedirectUrl.indexOf('?') == -1)?"?":"&") + Request.QueryString; } } %> <% // *** Insert Record: construct a sql insert statement and execute itif (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); } }} %> <% var Recordset1 = Server.CreateObject("ADODB.Recordset"); Recordset1.ActiveConnection = MM_members_STRING; Recordset1.Source = "SELECT * FROM member"; Recordset1.CursorType = 0; Recordset1.CursorLocation = 2; Recordset1.LockType = 1; Recordset1.Open(); var Recordset1_numRows = 0; %>
2.如果把'邮箱'和'个人说明'行是可以接受的数据类型.
解决:
1):提交时把用户未填写的项目自动加和合法符号比如空格;
或者
2):在写INSERT语句的时候先判断字段对应的数据是否存在;不存在就把该字段去掉
<%@LANGUAGE="JAVASCRIPT" CODEPAGE="936"%>
<!--#include file="Connections/members.asp" -->
<%
// *** Edit Operations: declare variables// set the form action variable
var MM_editAction = Request.ServerVariables("SCRIPT_NAME");
if (Request.QueryString) {
MM_editAction += "?" + Server.HTMLEncode(Request.QueryString);
}// boolean to abort record edit
var MM_abortEdit = false;// query string to execute
var MM_editQuery = "";
%>
<%
// *** Insert Record: set variablesif (String(Request("MM_insert")) == "form1") { var MM_editConnection = MM_members_STRING;
var MM_editTable = "member";
var MM_editRedirectUrl = "registeok.html";
var MM_fieldsStr = "textfield|value|textfield2|value|textfield3|value";
var MM_columnsStr = "username|',none,''|password|',none,''|e-mail|',none,''"; // create the MM_fields and MM_columns arrays
var MM_fields = MM_fieldsStr.split("|");
var MM_columns = MM_columnsStr.split("|");
// set the form values
for (var i=0; i+1 < MM_fields.length; i+=2) {
MM_fields[i+1] = String(Request.Form(MM_fields[i]));
} // append the query string to the redirect URL
if (MM_editRedirectUrl && Request.QueryString && Request.QueryString.Count > 0) {
MM_editRedirectUrl += ((MM_editRedirectUrl.indexOf('?') == -1)?"?":"&") + Request.QueryString;
}
}
%>
<%
// *** Insert Record: construct a sql insert statement and execute itif (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);
}
}}
%>
<%
var Recordset1 = Server.CreateObject("ADODB.Recordset");
Recordset1.ActiveConnection = MM_members_STRING;
Recordset1.Source = "SELECT * FROM member";
Recordset1.CursorType = 0;
Recordset1.CursorLocation = 2;
Recordset1.LockType = 1;
Recordset1.Open();
var Recordset1_numRows = 0;
%>
????
Response.Write(MM_editQuery);//输出sql语句看对不对,应该是sql语句不正确.
Response.End()