asp中遇到的幾個問題——數據庫連接,幾個常見控件的使用問題及其解決

       雖然筆者現在正在java方向的大道上拼死狂奔,但課程中還是以C#語言爲主線,沒錯,筆者是個苦逼的學生黨,所以研究的東西都是比較基本的,雖然或許都是比較淺顯的,但都是本人花了時間和心思才得以解決的所以在這裏還是恬不知恥地貼出來,希望能給後來的新手們提供幫助。

    1.ASP中Access數據庫鏈接的配置文件的寫法:基本思路寫在配置文件中,這裏就直接寫在web.config中,一般的不好走是這樣的,在配置文件中加入鍵值對語句如下:

   <appSettings>
    <!-- <add key="newsdb" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\vsset\WebSite1\App_Data\Northwind.mdb"></add>-->
    <add key="mydb"  value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Northwind.mdb"></add>
  </appSettings>

其中key是自己起的名字,就相當於一個id以方便在後面調用,第一種寫法是絕對路徑,在實際操作中基本不會這樣寫,其實解除多了就會發現在網站下面都會自動有一個APP_Data文件夾,一般來說那纔是實際項目工程中存放數據庫的地方,那麼就要使用相對路徑了,上面的第二種寫法就是這樣將前面那一大串路徑換成|DataDirectory|,注意前後是有豎線的!

 好了配置文件寫好了怎麼子啊程序中連接數據庫呢?語句如下:
        OleDbConnection con = new OleDbConnection(System.Configuration.ConfigurationManager.AppSettings["mydb"]);//核心語句
        String sql = "";//SQL語句
        con.Open();//打開連接

  記得要導入相關的包!

好了,這樣寫基本的Access數據庫就能連接成功了,但如果你使用的是2010版及以後的Access數據庫就會發現上面的會報錯,因爲用過的就會發現2010版本的Access的後綴改爲了.accdb

這個時候配置文件就跌小小的修改一下,如下:

<appSettings>
    <!-- <add key="newsdb" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\vsset\WebSite1\App_Data\Northwind.mdb"></add>-->
    <!--<add key="mydb"  value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Northwind.mdb"></add>-->
    <add key="mydb" value="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|Northwind.accdb"></add>
  </appSettings>

可以發現就是改了一個關鍵字而已。

ok,基本上在Access連接這一塊就差不多了,至於SqlServer,本人用的不是很多,一是當初用的時候各種錯,二是比起SqlServer Access在小型項目上輕便的特性顯露無疑。

2.Asp的幾個可以綁定數據源的控件在sql語句不復雜的情況下使用起來還是很6的,雖然這爲很多正兒八經的程序猿所不齒。。。

下面就以GridView爲例來展示一下,基本的需求數據源和控件,這裏我用的是Access數據源,先配置數據源,直接點開數據源右邊的箭頭就開始配置:

接下來的就簡單了直接點擊就ok,配置好數據源之後在同樣的操作對GridView選擇數據源,就完成了。

但是需求來了,比如說我有這樣兩個需求,在頁面中再添加一個radiobuttonList空間要求GridView中的數據根據我radiobutton的選定值來顯示,其次我的GridView要有直接操作數據即增刪改的功能。

對於第一個需求修改在數據源:在下面的界面中

點擊where那個按鈕進入下面一個頁面,就開始配置條件了(很好使有沒有!),先選擇列,就是要給哪一個字段限定條件,然後後面的運算符就不多說了,接下來就是源:點開之後就會驚喜的發現各種可能的都在裏賣弄包括session,cookie,control等等,根據實際需要這裏選擇control,選擇之後再去配置確切的控件就ok

對於第二個需求還是要改數據源,在上圖中點擊高級勾選生成insert,delete,update語句,然後再去數據控件中就會發現出現了啓用編輯等等一切我們所需的。

3.radioButtonList,爲什麼單獨說這個控件呢,因爲筆者在實際操作中發現這樣一個問題:

  來看需求:

需求看起來很簡單就是一個聯動的問題,理論上代碼就是這樣寫就ok:

但是,你會發現然並卵,代碼的邏輯是沒有錯的,測試一把發現渠道的vaule是null!對是空,沒有取到,上網找了些資料發現不能這樣得到選中值,解決方法是通過request.form[]來取就像我上面註釋掉的那個代碼一樣就ok了!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章