有没有会JAVASCRIPT的人在线?
在<input type="hidden" name="MM_recordId" value="<%=(Recordset1.Fields.Item("ID1").Value)%>">中,要想value的值+1应如何编码?[ 本帖最后由 捕蛇者说 于 2006-4-26 03:48 编辑 ] 不会的在线 楼上的会不会,急救的说 不懂这种脚本语言,偶不是计算机专业的,爱莫能助 没头没尾的感觉?
value+1其实又是什么?
不是读取记录集的数据吗?
我只知道大概Recordset1.MoveNext之类的可以继续读取下一行记录... 回楼上的,的确是要读取记录集里的数据,但我要那数值+1后写回记录集,如何办 <input type="hidden" name="MM_recordId" value="<%=(Recordset1("ID1")+1)%>">
这样应该是OK的.
还有,楼主应该是用了Dreamweaver UltraDev之类的工具,建议别用,这些工具生成的asp代码不够简洁. asp么... 请问楼上的是用什么编译器的,要是自己打的话很痛苦的说 原帖由 david当当 于 2006/4/26 05:10 发表
请问楼上的是用什么编译器的,要是自己打的话很痛苦的说
其实还是得自己打...我个人是用Dreaweaver生成HTML,然后在那些HTML基础上自己写ASP...大多做ASP开发的人都是这样...UltraDev之类的工具确实可以提高效率,但同时生成的代码可读性,可维护性相对很低,所以做开发的人一般不用. 还是不行,发整个表单的了
<form ACTION="<%=MM_editAction%>" METHOD="POST" name="add2">
<input name="hfVote" type="hidden" value="<%= Request.ServerVariables("Remote_ADDR") %>">
<input name="no+1" type="hidden" value="<%=(Recordset1("ID1")+1)%>">
<input name="MM_update"type="hidden"value="add2">
<inputname="MM_recordId" type="hidden" value="<%= Recordset1.Fields.Item("ID1").Value %>">
</form>
错误类型:
ADODB.Field (0x800A0BCD)
BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
/fxxxyou/add2.asp, 第 120 行
120行是<input name="MM_update"type="hidden"value="add2">
[ 本帖最后由 david当当 于 2006-4-26 13:32 编辑 ] name="no+1"
....晕...
要么就这样:Recordset1.Fields("ID1")+1...
我以前看人家用过UltraDev,,,它里面获取记录集的方式就是楼主那样...但一般做ASP Coder们都是用类似Rs("ID")这样获取的...我自己也是这样,,,而且如果要+1的话直接加是没问题的...我试过...
如果楼主再不成功就把整篇代码贴出来咯. 华山论剑
偶匿了 很吃亏,我的电脑一做这种鸟事就五分钟重启一次 如果记录集要筛选数据库,筛选KEY是IP能不能做到
具体怎样编码
我本来采用的是用隐藏域,但不能用 <%@LANGUAGE="JAVASCRIPT" CODEPAGE="936"%>
<!--#include file="../Connections/cojgxyfuckyou.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 = "";
%>
<%
// *** Update Record: set variables
if (String(Request("MM_update")) == "add2" &&
String(Request("MM_recordId")) != "undefined") {
var MM_editConnection = MM_cojgxyfuckyou_STRING;
var MM_editTable= "fuckyou";
var MM_editColumn = "IP";
var MM_recordId = "'" + Request.Form("MM_recordId") + "'";
var MM_editRedirectUrl = "thanks.html";
var MM_fieldsStr = "no+1|value";
var MM_columnsStr = "number|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 = 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;
var MM_typesArray = MM_columns.split(",");
var delim = (MM_typesArray != "none") ? MM_typesArray : "";
var altVal = (MM_typesArray != "none") ? MM_typesArray : "";
var emptyVal = (MM_typesArray != "none") ? MM_typesArray : "";
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);
}
}
}
%>
<%
var Recordset1__MMColParam = "1";
if (String(Request.Form("hfVoteIP")) != "undefined" &&
String(Request.Form("hfVoteIP")) != "") {
Recordset1__MMColParam = String(Request.Form("hfVoteIP"));
}
%>
<%
var Recordset1 = Server.CreateObject("ADODB.Recordset");
Recordset1.ActiveConnection = MM_cojgxyfuckyou_STRING;
Recordset1.Source = "SELECT * FROM fuckyou WHERE IP = '"+ Recordset1__MMColParam.replace(/'/g, "''") + "'";
Recordset1.CursorType = 0;
Recordset1.CursorLocation = 2;
Recordset1.LockType = 1;
Recordset1.Open();
var Recordset1_numRows = 0;
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>ADD2</title>
</head>
<body>
<form ACTION="<%=MM_editAction%>" METHOD="POST" name="add2">
<input name="hfVoteIP" type="hidden" value="<%= Request.ServerVariables("Remote_ADDR") %>">
<input name="no+1" type="hidden" value="<%=(Recordset1("number")+1)%>">
<input name="MM_update"type="hidden"value="add2">
<input type="hidden" name="MM_recordId" value="<%= Recordset1.Fields.Item("IP").Value %>">
</form>
</body>
</html>
<%
Recordset1.Close();
%> 这篇代码的目的是筛选数据库里的IP,并给IP所在的记录的NUMBER项里的值+1,然后跳转,在进入这篇代码之前IP已经作为MM_Username记录在Session里了 投票系统...
我觉得可以移去编程版啦...好象水区没人理你...——_——... 水区不是人气高么? 楼主的源码比较难阅读.
页:
[1]
2