親密接觸ASP.Net(8)

來源:互聯網
上載者:User
asp.net 我們前面的章節講了一下如何顯示資料庫中資訊以及DataReader和DataSet的基本用法,
有朋友說不過癮,要我快快寫下面的章節,很是對不起,我實在是沒有太多時間,寫這
些很慢。(不要扔雞蛋,最多我不說廢話啦)

我們這裡還是來講講DataSet吧,這是一個功能強大的東東,我們在上一節對它有了一個
初步的瞭解,這裡我們要講其如果用來操作資料。也是很簡單的東東,但是功能強大,要
講全,不太可能,因為DataSet和DataGrid控制項的講解就佔了.Net 協助的50%以上,而這
個總共有23M...

這裡我們建立一個test.mdb資料庫,做為測試的資料庫,其中有一個名為aspcn的表,數
據結構如圖


圖 8-1

不需DataSet的數庫操作

在講DataSet的應用之前,我們來看看在ASP.net不使用DataSet如何對資料庫進行插入,
更新,刪除.

要對資料進行插入,更新,刪除而又不能用DataSet,沒有辦法,只有用SQL直接來啦:)
,我這裡只講一下怎樣去插入,因為其它的操作只是改一下SQL語句,我想大家沒有問題
吧。這裡由於使用的是mdb資料庫,那麼這次就要用ADO.net來操作了。

我們先看看整個原始碼再說


<% @ Page Language="C#" %>
<% @ Import Namespace="System.Data" %>
<% @ Import Namespace="System.Data.ADO" %>
<Script Language="C#" Runat="Server">
public string myConnstring="Driver={Microsoft Access Driver (*.mdb)};
DBQ=c:/test/test.mdb;";
ADOConnection MyConnection;
public void Page_Load(Object src,EventArgs e)
{

//使用者提交資料

}
public void submit_Click(Object src,EventArgs e)
{
string username1 = Request.Form["username"];
string address1 = Request.Form["address"];
string school1 = Request.Form["shool"];
string strInsert="insert into aspcn(username,address,school)
values('"+username1+"','"+address1+"','"+school1+"')";
//開始連接
try
{
MyConnection = new ADOConnection(myConnstring);
ADOCommand MyCommand = new ADOCommand(strInsert,MyConnection);
MyConnection.Open();
MyCommand.ExecuteNonQuery();
MyConnection.Close();
Info.Text="資料已經儲存";
}
catch(Exception ee)
{
Info.Text="發生錯誤:"+ee.Message;
}

}
</script>
<html>
<head>
<title></title>
</head>
<body>
<asp:Label id="Info" runat=server /><br>
<form runat="server">
使用者名稱:<input type="text" name="username" size="20" ><br>
住址:<input type="text" name="address" size="20" ><br>
學校:<input type="text" name="school" size="20" ><br>
<input type="button" value="提交" runat="server"
OnServerClick="submit_Click" >
<p>1</p>
</form>
</body>
</html>


上面的程式執行情況看下面兩個圖:


圖8-2 執行前

圖8-3 執行後


因為我們是用的Access,所以首先就要申明一下啦

<% @ Import Namespace="System.Data" %>
<% @ Import Namespace="System.Data.ADO" %>

表明我們這裡使用的是ADO.net.

我們提交入資料庫的資料,來自於使用者的輸入,這裡使用的是一個我們常見到的<form>
表單,初一看和普通的沒有什麼區別,但是我們仔細看看它的<form>中的屬性是什麼,ru
nat="server",呵呵,就是這麼一個小小的標籤,這個程式的性質就變啦。這表明他是一
個Web Form了。這裡我用了HTML控制項,目的就是為了讓大家看看ASP.net和ASP到底有哪
些區別。

<form runat="server">
使用者名稱:<input type="text" name="username" ><br>
住址:<input type="text" name="address" ><br>
學校:<input type="text" name="school" ><br>
<input type="button" value="提交" runat="server"
OnServerClick="submit_Click" >
</form>

在上面的代碼,有一點需要注意就是,觸發button控制項提交事件處理的是OnServerClick
,這裡大家很少有注意,因為大家使用WEB控制項已成習慣,很容易就用了OnClick事件,呵
呵,這種錯誤很難發現,錯了都不知道怎麼錯的:)

下面我們就該在Submit_Click中處理提交事件了,首先是收集資訊,這裡我們又看到了
久違的Request對象和Form方法。這個和ASP幾乎是一模一樣的,我也不想多說了。

string username1 = Request.Form["username"];
string address1 = Request.Form["address"];
string school1 = Request.Form["shool"];

接下來就是將收集來的資料寫入資料庫,關於資料庫的開啟和執行,我們上一節也講過
了。這裡也就不羅嗦了。注意一下SQL語句的正確性就行。

string strInsert="insert into aspcn(username,address,school)
values('"+username1+"','"+address1+"','"+school1+"')";

大家也要注意一下我的連接語句(因為很多人來問我,如何連結mdb資料庫,其實和asp是
一樣,最主要是大家有些人不願意自已動手去實踐,問人已經成為了習慣)

public string myConnstring="Driver={Microsoft Access Driver (*.mdb)};
DBQ=c:/test/test.mdb;";

這裡連接Access最實用的語句(個人認為),其實還有好多種寫法。比如:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/test/test.mdb

Data Source=aspcn

呵呵,本來這一節是要講DataSet的,沒有想到其它的文字一下子寫了這麼多,只好留到
下一節去講DataSet了




聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.