[最后的Code]谁说asp没用---oracle+asp+iis连接代码

jackxiang 2006-10-16 20:10 | |
本人通过虚拟两台电脑,一台安装oracle 9i;另一台安装IIS跑asp.然后用数据源来连接虚拟的Oracle 9i,弄好后用DW来自动生成代码,结果测试良好.就是数据与程序分离的典型.望大家尽量;

oracletest.asp
code:位于connection 文件夹下:

<%
' FileName="Connection_odbc_conn_dsn.htm"
' Type="ADO"
' DesigntimeType="ADO"
' HTTP="false"
' Catalog=""
' Schema=""
Dim MM_oracle_STRING
MM_oracle_STRING = "dsn=oracle9;uid=system;pwd=manager;"
%>



oracletest.asp
code:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="Connections/oracle.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_oracle_STRING
 MM_editTable = "HR.JOBS"
 MM_editRedirectUrl = "file:///C&#124;/Inetpub/wwwroot/oracletest/iisstart.htm"
 MM_fieldsStr  = "textfield&#124;value&#124;textfield2&#124;value&#124;textfield3&#124;value&#124;textfield4&#124;value"
 MM_columnsStr = "JOB_ID&#124;',none,''&#124;JOB_TITLE&#124;',none,''&#124;MIN_SALARY&#124;none,none,NULL&#124;MAX_SALARY&#124;none,none,NULL"

 ' create the MM_fields and MM_columns arrays
 MM_fields = Split(MM_fieldsStr, "&#124;")
 MM_columns = Split(MM_columnsStr, "&#124;")
 
 ' 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 Recordset1
Dim Recordset1_numRows

Set Recordset1 = Server.CreateObject("ADODB.Recordset")
Recordset1.ActiveConnection = MM_oracle_STRING
Recordset1.Source = "SELECT JOB_ID, JOB_TITLE, MIN_SALARY, MAX_SALARY FROM HR.JOBS"
Recordset1.CursorType = 0
Recordset1.CursorLocation = 2
Recordset1.LockType = 1
Recordset1.Open()

Recordset1_numRows = 0
%>
<%
Dim Repeat1__numRows
Dim Repeat1__index

Repeat1__numRows = -1
Repeat1__index = 0
Recordset1_numRows = Recordset1_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>
</head>

<body>
<form id="form1" name="form1" method="POST" action="<%=MM_editAction%>">
 <label>
 <input type="text" name="textfield" />
 </label>
 <p>
   <input type="text" name="textfield2" />
 </p>
 <p>
   <input type="text" name="textfield3" />
 </p>
 <p>
   <input type="text" name="textfield4" />
 </p>
 <p>
   <label>
   <input type="submit" name="Submit" value="提交" />
   </label>
</p>

   <input type="hidden" name="MM_insert" value="form1">
</form>
<p> </p>
<p> </p>

<table border="1">
 <tr>
   <td>JOB_ID</td>
   <td>JOB_TITLE</td>
   <td>MIN_SALARY</td>
   <td>MAX_SALARY</td>
 </tr>
 <% While ((Repeat1__numRows <> 0) AND (NOT Recordset1.EOF)) %>
   <tr>
     <td><%=(Recordset1.Fields.Item("JOB_ID").Value)%></td>
     <td><%=(Recordset1.Fields.Item("JOB_TITLE").Value)%></td>
     <td><%=(Recordset1.Fields.Item("MIN_SALARY").Value)%></td>
     <td><%=(Recordset1.Fields.Item("MAX_SALARY").Value)%></td>
   </tr>
   <%
 Repeat1__index=Repeat1__index+1
 Repeat1__numRows=Repeat1__numRows-1
 Recordset1.MoveNext()
Wend
%>
</table>
</body>
</html>
<%
Recordset1.Close()
Set Recordset1 = Nothing
%>





作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/262/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2006-10-16 20:18
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]