我的设想:在主页面的表单里填写好内容,然后提交到数据库,在完成这步操作后,弹出一个新窗口,并在新窗口内显示刚才添加的内容.主页面:<form name="myform" method="POST" action="<%=MM_editAction%>" > //表单
......
<td colspan="4"><input name="name" type="text" id="name" tabindex="<%=20%>" onKeyDown="setTab();" style="width:100%" ></td> //表单中的一个文本框
......
<input name="submit" type="submit" value="确定">这里是已经写好的插入语句:
<%
// *** 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);
}
}
}
%>
问题:弹出新窗口的语句是否可以添加在MM_editQuery后面?该怎么写?另外:我知道在插入一条记录后,SCOPE_IDENTITY()是当前记录的编号,如果要向这个弹出的新窗口传递这个编号,该怎么post?
......
<td colspan="4"><input name="name" type="text" id="name" tabindex="<%=20%>" onKeyDown="setTab();" style="width:100%" ></td> //表单中的一个文本框
......
<input name="submit" type="submit" value="确定">这里是已经写好的插入语句:
<%
// *** 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);
}
}
}
%>
问题:弹出新窗口的语句是否可以添加在MM_editQuery后面?该怎么写?另外:我知道在插入一条记录后,SCOPE_IDENTITY()是当前记录的编号,如果要向这个弹出的新窗口传递这个编号,该怎么post?
解决方案 »
- 好像很难,怕上次没说清楚说一次吧.
- 求一条sql 关于列变行的问题,跪求
- 数据库查询语句的问题
- 存储过程调用存储过程,报错:超出了存储过程、函数、触发器或视图的最大嵌套层数,急
- 求解一个关于参数查询的语句
- SQL紧急求教
- 无法打开SQL Server Management Studio
- 疑惑!为什么国内绝大部分适合中、小型企业的商用软件都是使用微软的SQL Server?
- 急,VB中用ADO的COMMAND对象调用建有临时表的存储过程为什么没有数据出来?
- 想做一个编制部门预算的软件
- SQL SERVER中SELECT 大于8000的字符串,作为返回也不行?
- 如何用事件探查器找到一个存储过程的瓶颈?
function MM_openBrWindow() {
window.open('print.asp?<%= Server.HTMLEncode(MM_keepNone) + ((MM_keepNone!="")?"&":"") + "=" + SCOPE_IDENTITY() %>','','width=700,height=600');
}如果在确定按钮上执行这个函数,SCOPE_IDENTITY()还没有生成,所以我考虑是应该在插入记录之后立即执行,并传递SCOPE_IDENTITY().但不知道代码如何写.周一要交,很着急,请高人不惜赐教.谢谢