作者 主題: 求助一個 15 行 ASP 改寫為 aspx  (閱讀 4646 次)

0 會員 與 1 訪客 正在閱讀本文。

Dino9021

  • SA 苦力組
  • 憂鬱的高中生
  • ***
  • 文章數: 175
    • 檢視個人資料
求助一個 15 行 ASP 改寫為 aspx
« 於: 2008-10-21 16:49 »
各位學長大家好

雖然問題屬於程式, 不過我想貼在肉腳板比較適合...

手邊有一個很短的 asp 需要改寫成 aspx
但是我個人只會 asp / php , aspx 完全看不懂
而且以後也不會用到, 所以並不打算[再]花時間研究 (已經查一下午仍改不出來...)
斗膽在此貼出程式碼希望能有人協助幫我改寫

程式功能很簡單, 就是撈一個資料庫某個 Table 然後把內容全部 Print 出來而已
最前面加上一個 Key 檢查 (Program.asp?key=12345) , key 不對就跳出, 對就往下執行


代碼: [選擇]
<%
key=request.QueryString

if key<>"key=12345" then
Response.Redirect("/")
end if

' 連結資料庫
set conn=Server.CreateObject("ADODB.Connection")
conn.Open "Driver={SQL Server};Server=localhost;Database=MyDatabaseName;UID=UserID;PWD=UserPWD"

' 查詢
Query="Select * From T_Member"
set rs=conn.execute(Query)

' 移到第一筆資料
rs.movefirst

' 輸出欄位說明, 後面帶上換行符號 ExportContent="AutoNo;Name;ID;pwd;IDNO;Address;Phone_Home;Phone_Office;Phone_Cell;Email;Recieve_info;Career;BirthDay;Donate_class;Donate_amount;Donate_way;Donate_done;CreditCardInfo;Donate_Period;audiopie"&vbCrLf

' 開始輸出每一筆 Record, 後面帶上換行符號
while not rs.eof
ExportContent=ExportContent&rs("AutoNo")&";"&rs("Name")&";"&rs("ID")&";"&rs("pwd")&";"&rs("IDNO")&";"&rs("Address")&";"&rs("Phone_Home")&";"&rs("Phone_Office")&";"&rs("Phone_Cell")&";"&rs("Email")&";"&rs("Recieve_info")&";"&rs("Career")&";"&rs("BirthDay")&";"&rs("Donate_class")&";"&rs("Donate_amount")&";"&rs("Donate_way")&";"&rs("Donate_done")&";"&rs("CreditCardInfo")&";"&rs("Donate_Period")&";"&rs("audiopie")&vbCrLf
rs.movenext
wend

' Print 出來
response.write ExportContent

%>
雖然我不是什麼厲害的前輩, 但除了私人問題外我不接受私人訊息問技術問題
好的/有用的資訊公開讓所有人都能知道是最好的
另外, 發問請詳述問題/Log/你曾經進行的嘗試以及結果
請先參考 http://phorum.study-area.org/index.php/topic,24128.0.html

洋蔥叔叔

  • 榮譽博士
  • 鑽研的研究生
  • *****
  • 文章數: 830
    • 檢視個人資料
    • 洋蔥叔叔的隨意漫談電腦、網路、.NET、軟體本地化、雜七雜八
回覆: 求助一個 15 行 ASP 改寫為 aspx
« 回覆 #1 於: 2008-10-21 18:59 »
試試看,若要指定欄位,寫在 SELECT 就好:

代碼: [選擇]
<%@ Page Language="vb" %>

<%
    Dim key As String = Request.Params("key")
    If key <> "12345" Then
        Response.Redirect("/")
    End If
       
    Dim conn As New System.Data.SqlClient.SqlConnection("Server=localhost;Database=MyDatabaseName;;UID=UserID;PWD=UserPWD")
    Dim cmd As New System.Data.SqlClient.SqlCommand("SELECT * FROM T_Member", conn)
    conn.Open()
    Dim rdr As System.Data.SqlClient.SqlDataReader = cmd.ExecuteReader()
       
    ' 欄位名稱
    For i As Integer = 0 To rdr.FieldCount - 1
        Response.Write(rdr.GetName(i))
        If i < rdr.FieldCount - 1 Then
            Response.Write(";")
        End If
    Next
    Response.Write(vbCrLf)
       
    ' 資料
    Do While rdr.Read()
        For i As Integer = 0 To rdr.FieldCount - 1
            Response.Write(rdr(i))
            If i < rdr.FieldCount - 1 Then
                Response.Write(";")
            End If
        Next
        Response.Write(vbCrLf)
    Loop
       
    rdr.Close()
    conn.Close()
%>
« 上次編輯: 2008-10-21 19:01 由 Demonbane »

Dino9021

  • SA 苦力組
  • 憂鬱的高中生
  • ***
  • 文章數: 175
    • 檢視個人資料
回覆: 求助一個 15 行 ASP 改寫為 aspx
« 回覆 #2 於: 2008-10-21 22:12 »
試試看,若要指定欄位,寫在 SELECT 就好:

真是太感謝您了, 如此解決了我一個煩惱的相容性問題

我會需要這個解決方案的原因是我有兩個 Web Server
一個是 Apache+PHP+ MySQL , 一個是 IIS+ASP.NET+MS-SQL,
由於我不熟悉 Linux, 因此將兩個 Web Server 架設於同一個作業系統中
在一張網路卡上 Bind 兩個同網段的不同 IP, 解決 Routing 問題讓他順利運作

如今想整併成只使用一個 IP 時,
找到了可在 Apache 跑 ASP.NET 的模組, 但他不能跑 ASP
而我有如提問中那麼唯一的一個 ASP 程式 (供相關人員撈資料用, 當初寫網站的人沒寫這個功能, 所以我只好用 ASP 寫一個...)
因此只要能夠改寫這個程式, 我就能利用 Apache 的 VirtualHost 進行後續整合的作業了

再次感謝您!
雖然我不是什麼厲害的前輩, 但除了私人問題外我不接受私人訊息問技術問題
好的/有用的資訊公開讓所有人都能知道是最好的
另外, 發問請詳述問題/Log/你曾經進行的嘗試以及結果
請先參考 http://phorum.study-area.org/index.php/topic,24128.0.html

洋蔥叔叔

  • 榮譽博士
  • 鑽研的研究生
  • *****
  • 文章數: 830
    • 檢視個人資料
    • 洋蔥叔叔的隨意漫談電腦、網路、.NET、軟體本地化、雜七雜八
回覆: 求助一個 15 行 ASP 改寫為 aspx
« 回覆 #3 於: 2008-10-21 22:56 »
用 PHP 應該也可以輕易作到,只不過我比較不熟 :-)