這是備份,原作請看:初探ADO.NET #1,程式與資料庫互動的四大步驟

http://www.dotblogs.com.tw/mis2000lab/archive/2008/08/15/4918.aspx

以下是我的新書內容,僅供參考:新書上市-- ASP.NET專題實務(文魁出版)

===========================================================

這四大步驟是我自己歸納的流程,不但對於 ASP、ASP.NET有用,轉型成PHP與JSP也是道理相同。如同武功高手打通任督二脈後,學什麼武功都快。只要瞭解這四大流程,我相信大部分需要連結資料庫的程式,都難不倒大家。

第一, 連接資料庫(Connection)。
第二, 執行SQL指令(又分成兩大類:取出資料、或是寫入資料)。
第三, 自由發揮(通常這一段是畫面或流程的設計)。
第四, 關閉資源(如:關閉資料庫的連接)。

接下來將會看幾段程式碼,各位讀者不需死記,只要稍微瞭解一下,簡單看過即可。後續的文章會有更深入的解說。

6-1-1  ASP.NET與ADO.NET的簡單程式

ASP.NET從資料庫取出所有資料,程式如下(檔名 test_123.aspx):

<%@ Page Language="vb" %>

<%@ Import NameSpace = "System.Data" %>

<%@ Import NameSpace = "System.Data.SQLClient" %>

 

<%

'--註解:第一,連結SQL資料庫

Dim Conn As SQLConnection = New SQLConnection("server=localhost;

uid=test; pwd=test; database=test")

Conn.Open()

 

'--註解:第二,執行SQL指令,使用DataReader

Dim sqlstr As String = "select * from test"

Dim cmd As SQLCommand = New SQLCommand(sqlstr ,Conn)

Dim dr As SQLDataReader = cmd.ExecuteReader()

 

'--註解:第三,自由發揮

While dr.Read()

Response.Write("文章編號:" & dr.Item("id") & “<br>”)

Response.Write("    期:" & dr.Item("test_time")  & “<br>”)

      Response.Write("文章標題:" & dr.Item("title"))

      Response.Write("<hr>")

End While

 

'--註解:第四,關閉資源

cmd.Cancel()

dr.Close

 

Conn.Close

Conn.Dispose()

%>

 

上面的程式是把HTML和程式碼,混合寫在同一個檔案內,這種作法稱為Inline Code,是傳統ASP、PHP常用的方式。如果採用VS 2005/2008來寫程式,則會把「HTML畫面」與「程式碼」各自獨立,分屬兩個不同的檔案。

 6-1-2 JSP、PHP也可用四大步驟

上面的程式,是最簡單的一支ASP.NET程式了,包含了ADO.NET的技術可以連結資料庫,並且執行SQL指令(Select * From test)取出資料。以下我們用JSP撰寫相同功能的網頁程式,讀者會發現:原來如此,不管是JSP或ASP.NET都一樣,不就是那四大步驟而已。

 

<%@page contentType="text/html;charset=Big5"

  import="java.sql.*" %>

 

<% //註解:第一,連結資料庫

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

//透過ODBC連結MS SQL Server 2000,驅動程式管理員java.sql.DriverManager

Connection 變數 = DriverManager.getConnection("jdbc:odbc:ODBC的名稱","帳號","密碼");

 

//註解:第二,執行SQL指令。執行SELECT指令,將資料放入記錄集(rs

Statement stmt = conn.createStatement();

ResultSet rs = stmt.executeQuery("select * from test");

 

//註解:第三,自由發揮

while( rs.next() )    //利用while迴圈,將所有資料呈現在畫面上。

{

    String my_id = rs.getString("id");

    Date my_time = rs.getDate("test_time");

    String my_title = rs.getString("title");

 

    out.println(my_time + "  " + my_title);

}

 

//註解:第四,關閉資源

rs.close();

stmt.close();

conn.close();

%>

 

 

 

以下是 PHP 4.x版的範例: 

<?php

    //註解:第一,連結資料庫

    $link = mssql_connect("localhost", "test", "test");

    mssql_select_db("test", $link);

 

    //註解:第二,執行SQL指令。

    $SQL = "Select id,test_time,title from test";

    $RS = mssql_query($SQL, $link);

 

    //註解:第三,自由發揮

    if (!$RS)

     {

      echo "抱歉!資料庫沒有資料!";

     }

    else

     {

 

       while( list($id,$test_time,$title) = mssql_fetch_row($RS) )

       {

          echo "$test_time";

          echo "$title";

       }

     }

 

    //註解:第四,關閉資源

    mssql_free_result($RS);

    mssql_close ($link);

?>

 

以上三個程式都是相同的功能,就連撰寫的流程也大同小異。可見我一開始說的「連結資料庫的四大步驟」所言不虛。只要熟記這四大步驟,大部分的網頁程式設計都可以快速地轉換。

以我為例,我學習JSP只花了一天半的時間,用一天看書,另外半天是把我的程式改寫成JSP版本。而PHP也一樣,除了安裝PHP運作的環境(Apache Web Server搭配PHP)花了比較多時間之外,寫PHP程式對我來說幾乎沒有難度。

有了上面幾支程式的佐證,我們可以更深入瞭解四大步驟做了哪些事:

第一, 連接資料庫。
要連接各種資料庫,只要會撰寫連接字串(Connection String)即可。例如:"server=資料庫主機; uid=帳號; pwd=密碼; database=資料庫名稱" 。

第二, 執行SQL指令。
1.  SQL指令又分成兩種,一種是「Select」陳述句,用來撈(取出)資料。
2.  另外一種是資料的更動,例如「Insert、Update、Delete」陳述句,執行這類的陳述句將不會將大批資料傳回,頂多只有傳回一個數值,提醒我們這個陳述句更動了幾列資料而已。

第三, 自由發揮。
1.  如果是執行「Select」陳述句,把許多筆記錄從資料庫裡面撈出來,這時候就要呈現在畫面上。可能會用HTML碼作一些修飾,讓畫面比較整齊好看。
2.  如果是「Insert、Update、Delete」陳述句的話,只會傳回一個數值,提醒我們這個陳述句更動了幾列資料而已,告訴使用者這段動作是否成功完成。

第四, 關閉資料庫的連接與釋放資源。
俗諺有云:「有借有還,再借不難」。相同的道理,我們寫程式的時候,曾經使用過或開啟的資源,在程式的最後都要一一的關閉它。這樣才不會把系統資源消耗殆盡,被一支爛程式拖累整個系統。

以下是廣告文----

我的書上市了,煩請賞光、支持一下。   感恩~

題名:    ASP.NET專題實務 

[廣告] 新書上市-- ASP.NET專題實務(文魁出版)

PCHome 24小時購物也能買到,很便宜喔!

本書目錄:http://www.kingsinfo.com.tw/item_detail.asp?pro_id=7085 

ISBN:  978-986-204-238-0 

著者:  周棟祥博士, 吳進魯

MIS2000 Lab. 編著 

審稿教授:南台科大 吳盛博士

出版者:  文魁資訊 http://www.kingsinfo.com.tw 出版時間:  2008.07

今日值班正妹,吉澤明步(日本 成人愛情動作悲喜劇 的 專業女優

圖片來源:http://www.nutopia.uni.cc/~wkso/forum/viewtopic.php?t=19578&girl=photo&&simp=1

 

................................................................................................................................................................................................

ASP.NET專題實務ASP.NET專題實務(文魁出版 / P8187)

2008/八月份 天瓏書局排行榜前十名

創作者介紹

MIS2000 Lab -- ASP.NET專題實務 / 線上教學文件

MIS2000 Lab 發表在 痞客邦 PIXNET 留言(1) 人氣()


留言列表 (1)

發表留言
  • 馬經理
  • 資料庫如何編寫

    我是一家房屋仲介公司的經理,公司指派我了解公司要建立一些大樓資料進行分析比對後搜尋較出資料,我如何著手及應該用哪方面的程式編寫會較理想,如何跟現有網站結合(PHP製作),網站也考慮重新製作,我應該找哪方面的軟體程式人員,我公司在高雄,若有合適人選也可以幫我推薦,謝謝!(07)333-3338,0910818104,0982303104馬經理
找更多相關文章與討論