主题:  Dreamweaver8无法插入记录

mxhmysuc

职务:普通成员
等级:1
金币:0.0
发贴:32
注册:2006/5/23 10:00:42
#12006/5/23 11:35:53
  数据库为access,事先加入了记录。系统为2003server.iis主目录设了“脚本资源访问”和“读取”,数据库的属性设为“脚本资源访问”和“读取”和“写入”。

  制作的浏览信息asp能够正常显示。按书上的说的操作,数据库连接成功。

  在dw8用插入向导作的添加信息页面,可是access数据库没有插入新的数据,F12后,显示http 500内部错误,您要访问的网页有问题,无法显示。各位帮我看看呀。

  数据连接文件connweb.asp,源码为:

<%
' FileName="Connection_odbc_conn_dsn.htm"
' Type="ADO"
' DesigntimeType="ADO"
' HTTP="false"
' Catalog=""
' Schema=""
Dim MM_connweb_STRING
MM_connweb_STRING = "dsn=web;"
%>


  插入记录文件add.asp,源码为:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="Connections/connweb.asp" -->
<%
' *** Edit Operations: declare variables

Dim MM_editAction
Dim MM_abortEdit
Dim MM_editQuery
Dim MM_editCmd

Dim MM_editConnection
Dim MM_editTable
Dim MM_editRedirectUrl
Dim MM_editColumn
Dim MM_recordId

Dim MM_fieldsStr
Dim MM_columnsStr
Dim MM_fields
Dim MM_columns
Dim MM_typeArray
Dim MM_formVal
Dim MM_delim
Dim MM_altVal
Dim MM_emptyVal
Dim MM_i

MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME")
If (Request.QueryString <> "" Then
MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString)
End If

' boolean to abort record edit
MM_abortEdit = false

' query string to execute
MM_editQuery = ""
%>
<%
' *** Insert Record: set variables

If (CStr(Request("MM_insert") = "form1" Then

MM_editConnection = MM_connweb_STRING
MM_editTable = "student"
MM_editRedirectUrl = "file:///D|/web/default.asp"
MM_fieldsStr = "id|value|name|value|note|value"
MM_columnsStr = "id|',none,''|name|',none,''|note|',none,''"

' create the MM_fields and MM_columns arrays
MM_fields = Split(MM_fieldsStr, "|"
MM_columns = Split(MM_columnsStr, "|"

' set the form values
For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i)))
Next

' append the query string to the redirect URL
If (MM_editRedirectUrl <> "" And Request.QueryString <> "" Then
If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "" Then
MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
Else
MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
End If
End If

End If
%>
<%
' *** Insert Record: construct a sql insert statement and execute it

Dim MM_tablevalues
Dim MM_dbvalues

If (CStr(Request("MM_insert") <> "" Then

' create the sql insert statement
MM_tablevalues = ""
MM_dbvalues = ""
For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
MM_formVal = MM_fields(MM_i+1)
MM_typeArray = Split(MM_columns(MM_i+1),","
MM_delim = MM_typeArray(0)
If (MM_delim = "none" Then MM_delim = ""
MM_altVal = MM_typeArray(1)
If (MM_altVal = "none" Then MM_altVal = ""
MM_emptyVal = MM_typeArray(2)
If (MM_emptyVal = "none" Then MM_emptyVal = ""
If (MM_formVal = "" Then
MM_formVal = MM_emptyVal
Else
If (MM_altVal <> "" Then
MM_formVal = MM_altVal
ElseIf (MM_delim = "'" Then ' escape quotes
MM_formVal = "'" & Replace(MM_formVal,"'","''" & "'"
Else
MM_formVal = MM_delim + MM_formVal + MM_delim
End If
End If
If (MM_i <> LBound(MM_fields)) Then
MM_tablevalues = MM_tablevalues & ","
MM_dbvalues = MM_dbvalues & ","
End If
MM_tablevalues = MM_tablevalues & MM_columns(MM_i)
MM_dbvalues = MM_dbvalues & MM_formVal
Next
MM_editQuery = "insert into " & MM_editTable & " (" & MM_tablevalues & " values (" & MM_dbvalues & ""

If (Not MM_abortEdit) Then
' execute the insert
Set 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 <> "" Then
Response.Redirect(MM_editRedirectUrl)
End If
End If

End If
%>
<%
Dim rs_add
Dim rs_add_numRows

Set rs_add = Server.CreateObject("ADODB.Recordset"
rs_add.ActiveConnection = MM_connweb_STRING
rs_add.Source = "SELECT * FROM student"
rs_add.CursorType = 0
rs_add.CursorLocation = 2
rs_add.LockType = 1
rs_add.Open()

rs_add_numRows = 0
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>

<body>
<form method="POST" action="<%=MM_editAction%>" name="form1">
<table align="center">
<tr valign="baseline">
<td nowrap align="right">Id:</td>
<td><input type="text" name="id" value="" size="32">
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Name:</td>
<td><input type="text" name="name" value="" size="32">
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Note:</td>
<td><input type="text" name="note" value="" size="32">
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">&nbsp;</td>
<td><input type="submit" value="插入记录">
<label>
<input type="reset" name="Submit" value="取消" />
</label> </td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="form1">
</form>
<p>&nbsp;</p>
</body>
</html>
<%
rs_add.Close()
Set rs_add = Nothing
%>

还有dw8中英版都试过,都没成功



yiliaocheng

职务:普通成员
等级:2
金币:2.0
发贴:631
注册:2005/12/29 19:33:15
#22006/5/23 11:45:26
rs_add.CursorType = 3
rs_add.CursorLocation = 3
rs_add.LockType = 3



mxhmysuc

职务:普通成员
等级:1
金币:0.0
发贴:32
注册:2006/5/23 10:00:42
#32006/5/24 8:26:00
还是不行呀,修改

rs_add.CursorType = 3
rs_add.CursorLocation = 3
rs_add.LockType = 3

运行后提示:

无法显示网页
您要访问的网页有问题,无法显示。

--------------------------------------------------------------------------------

请尝试以下操作:

打开 10.43.25.22 主页,然后查找指向您感兴趣信息的链接。
单击刷新按钮,或以后再试。

单击搜索,寻找 Internet 上的信息。
也可查看相关站点列表。


HTTP 500 - 内部服务器错误
Internet Explorer



mxhmysuc

职务:普通成员
等级:1
金币:0.0
发贴:32
注册:2006/5/23 10:00:42
#42006/5/24 9:01:15
怕是保留字,把数据库表的字段名改了一下,再做个插入页面add1.asp,出错信息如下:

Provider 错误 '80004005'

未指定的错误

/add1.asp,行 130

第130行代码为: rs_st.ActiveConnection = MM_connweb_STRING



全部代码为:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="Connections/connweb.asp" -->
<%
' *** Edit Operations: declare variables

Dim MM_editAction
Dim MM_abortEdit
Dim MM_editQuery
Dim MM_editCmd

Dim MM_editConnection
Dim MM_editTable
Dim MM_editRedirectUrl
Dim MM_editColumn
Dim MM_recordId

Dim MM_fieldsStr
Dim MM_columnsStr
Dim MM_fields
Dim MM_columns
Dim MM_typeArray
Dim MM_formVal
Dim MM_delim
Dim MM_altVal
Dim MM_emptyVal
Dim MM_i

MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME")
If (Request.QueryString <> "" Then
MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString)
End If

' boolean to abort record edit
MM_abortEdit = false

' query string to execute
MM_editQuery = ""
%>
<%
' *** Insert Record: set variables

If (CStr(Request("MM_insert") = "form1" Then

MM_editConnection = MM_connweb_STRING
MM_editTable = "student"
MM_editRedirectUrl = "file:///D|/web/1default.htm"
MM_fieldsStr = "s_id_hc|value|s_name_hc|value|s_note_hc|value"
MM_columnsStr = "s_id_hc|',none,''|s_name_hc|',none,''|s_note_hc|',none,''"

' create the MM_fields and MM_columns arrays
MM_fields = Split(MM_fieldsStr, "|"
MM_columns = Split(MM_columnsStr, "|"

' set the form values
For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i)))
Next

' append the query string to the redirect URL
If (MM_editRedirectUrl <> "" And Request.QueryString <> "" Then
If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "" Then
MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
Else
MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
End If
End If

End If
%>
<%
' *** Insert Record: construct a sql insert statement and execute it

Dim MM_tablevalues
Dim MM_dbvalues

If (CStr(Request("MM_insert") <> "" Then

' create the sql insert statement
MM_tablevalues = ""
MM_dbvalues = ""
For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
MM_formVal = MM_fields(MM_i+1)
MM_typeArray = Split(MM_columns(MM_i+1),","
MM_delim = MM_typeArray(0)
If (MM_delim = "none" Then MM_delim = ""
MM_altVal = MM_typeArray(1)
If (MM_altVal = "none" Then MM_altVal = ""
MM_emptyVal = MM_typeArray(2)
If (MM_emptyVal = "none" Then MM_emptyVal = ""
If (MM_formVal = "" Then
MM_formVal = MM_emptyVal
Else
If (MM_altVal <> "" Then
MM_formVal = MM_altVal
ElseIf (MM_delim = "'" Then ' escape quotes
MM_formVal = "'" & Replace(MM_formVal,"'","''" & "'"
Else
MM_formVal = MM_delim + MM_formVal + MM_delim
End If
End If
If (MM_i <> LBound(MM_fields)) Then
MM_tablevalues = MM_tablevalues & ","
MM_dbvalues = MM_dbvalues & ","
End If
MM_tablevalues = MM_tablevalues & MM_columns(MM_i)
MM_dbvalues = MM_dbvalues & MM_formVal
Next
MM_editQuery = "insert into " & MM_editTable & " (" & MM_tablevalues & " values (" & MM_dbvalues & ""

If (Not MM_abortEdit) Then
' execute the insert
Set 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 <> "" Then
Response.Redirect(MM_editRedirectUrl)
End If
End If

End If
%>
<%
Dim rs_st
Dim rs_st_numRows

Set rs_st = Server.CreateObject("ADODB.Recordset"
rs_st.ActiveConnection = MM_connweb_STRING
rs_st.Source = "SELECT * FROM student"
rs_st.CursorType = 3
rs_st.CursorLocation = 3
rs_st.LockType =3
rs_st.Open()

rs_st_numRows = 0
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>

<body>
<form method="post" action="<%=MM_editAction%>" name="form1">
<table align="center">
<tr valign="baseline">
<td nowrap align="right">S_id_hc:</td>
<td><input type="text" name="s_id_hc" value="" size="32">
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">S_name_hc:</td>
<td><input type="text" name="s_name_hc" value="" size="32">
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">S_note_hc:</td>
<td><input type="text" name="s_note_hc" value="" size="32">
</td>
</tr>
<tr valign="baseline">
<td nowrap align="right">&nbsp;</td>
<td><input type="submit" value="插入记录">
</td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="form1">
</form>
<p>&nbsp;</p>
</body>
</html>
<%
rs_st.Close()
Set rs_st = Nothing
%>



mxhmysuc

职务:普通成员
等级:1
金币:0.0
发贴:32
注册:2006/5/23 10:00:42
#52006/5/24 9:57:11
调整了IIS设置,问题解决了80%,已经能够插入记录了,只是插入后不能跳到插入成功页面,也不知道什么回事,把最大工作进程数调由1调为5,插入成功,然后又把5调回1,也还是插入成功,呵呵

图片如下:



mxhmysuc

职务:普通成员
等级:1
金币:0.0
发贴:32
注册:2006/5/23 10:00:42
#62006/5/24 10:32:57
把MM_editRedirectUrl = "file:///D|/web/1default.htm"改MM_editRedirectUrl = "http://10.43.25.22/1default.htm 可以正常转入成功提示页面



mxhmysuc

职务:普通成员
等级:1
金币:0.0
发贴:32
注册:2006/5/23 10:00:42
#72006/6/2 9:05:10
记得资源管理器中把,数据库也设为可写入