- 在线时间
- 0 小时
- 专家
- 0
- UID
- 187709
- 注册时间
- 2005-6-30
- 帖子
- 7
- 精华
- 0
- 积分
- 26
- 离线
- 2224 天
- 帖子
- 7
- 体力
- 26
- 威望
- 0
|
发表于 2005-12-1 12:31:00
|显示全部楼层
后台数据库:sqlserver 2000
数据表: b01
字段 code char(8)--唯一列
b0102 varchar(50) 文本
b0108 numeric(9,2)
b0109 numeric(9,2)
b0110 numeric(9,2)
编辑器:dw2004 MX
记录集r1, 内容为根据seesion变量查询出的表b01的内容
实现目的:先根据记录集R1内容生成表格,象在EXECL中那样修改后,点提交修改数据库
请直接修改代码,万分感谢!
原代码:
<%@LANGUAGE="JAVASCRIPT" CODEPAGE="936"%>
<!--#include file="../../Connections/conn.asp" -->
<%
// 01更新数据
// 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 = "";
%>
<%
// *** Update Record: set variables
if (String(Request("MM_update")) == "form1" &&
String(Request("MM_recordId")) != "undefined") {
var MM_editConnection = MM_conn_STRING;
var MM_editTable = "dbo.b01";
var MM_editColumn = "code";
var MM_recordId = "'" + Request.Form("MM_recordId") + "'";
var MM_editRedirectUrl = "";
var MM_fieldsStr = "b0108|value|b0109|value|b0110|value";
var MM_columnsStr = "b0108|none,none,NULL|b0109|none,none,NULL|b0110|none,none,NULL";
// 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));
}
// 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;
}
}
%>
<%
// *** Update Record: construct a sql update statement and execute it
if (String(Request("MM_update")) != "undefined" &&
String(Request("MM_recordId")) != "undefined") {
// create the sql update statement
MM_editQuery = "update " + MM_editTable + " set ";
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_editQuery += ((i != 0) ? "," : "") + MM_columns + " = " + formVal;
}
MM_editQuery += " where " + MM_editColumn + " = " + MM_recordId;
if (!MM_abortEdit) {
// execute the update
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);
}
}
}
%>
<%
// 02打开记录集
var R1__MMColParam = "1";
if (String(Session("MM_code")) != "undefined" &&
String(Session("MM_code")) != "") {
R1__MMColParam = String(Session("MM_code"));
}
%>
<%
var R1 = Server.CreateObject("ADODB.Recordset");
R1.ActiveConnection = MM_conn_STRING;
R1.Source = "SELECT code, b0102, b0108, b0109, b0110 FROM dbo.b01 WHERE b0104 = '"+ R1__MMColParam.replace(/'/g, "''") + "'";
R1.CursorType = 0;
R1.CursorLocation = 2;
R1.LockType = 1;
R1.Open();
var R1_numRows = 0;
%>
<%
var Repeat1__numRows = -1;
var Repeat1__index = 0;
R1_numRows += Repeat1__numRows;
%>
<!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>
<link href="../../css/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<!--表单form1,并屏蔽回车-->
<form ACTION="<%=MM_editAction%>" METHOD="POST" name="form1" id="form1" onkeydown=if(event.keycode==13)event.keycode=9>
<!--建立表格-->
<table width="400" border="1" cellspacing="0" cellpadding="0">
<tr>
<td colspan="5"><div align="center">修改资金项目</div></td>
</tr>
<!--表格重复区域,每条记录一行-->
<% while ((Repeat1__numRows-- != 0) && (!R1.EOF)) { %>
<tr>
<td width="82"><%=(R1.Fields.Item("code").Value)%></td>
<td width="90"><%=(R1.Fields.Item("b0102").Value)%></td>
<td width="126"><input name="b0108" type="text" id="b0108" value="<%=(R1.Fields.Item("b0108").Value)%>" size="12" maxlength="12" /></td>
<td width="79"><input name="b0109" type="text" id="b0109" value="<%=(R1.Fields.Item("b0109").Value)%>" size="12" maxlength="12" /></td>
<td width="11"><input name="b0110" type="text" id="b0110" value="<%=(R1.Fields.Item("b0110").Value)%>" size="12" maxlength="12" /></td>
</tr>
<%
Repeat1__index++;
R1.MoveNext();
}
%>
</table>
<p> </p>
<p>
<input type="submit" name="Submit" value="提交" />
</p>
<input type="hidden" name="MM_update" value="form1">
<input type="hidden" name="MM_recordId" value="<%= R1.Fields.Item("code").Value %>">
</form>
</body>
</h);
%>
<%
R1.Close();
%> |
|