BETA2中操作SQL資料庫

來源:互聯網
上載者:User
資料|資料庫 在前面,我已經說了如何在BETA2的環境下,操作ACCESS資料庫,這次我們來看看如何通過ADO。NET來操作SQL SERVER資料庫!

首先我們要知道,在ADO。NET環境下,我們是通過System.Data.SqlClient這個名字空間來操作的,另外還有一個System.Data.SqlTypes名字空間描述了SQL SERVER的欄位類型,但它並不直接參与資料庫的操作,所以我們重點放在System.Data.SqlClient的使用上!

按照慣例,我還是先列出我的常式:這個程式是我在寫一個使用者註冊系統時用到的,先看程式:

using System;
using System.Data;
using System.Data.SqlClient;

//通過使用者ID號,取得使用者資料
        public UserInfo GetUserInfo(string id)
        {
            SqlConnection myconn=SohoTool.SetConn();    //看備忘一            myconn.Open();  
            //設定SQL查詢語句
            string selectstr="select * from userinfo where id=" + id ;
            try{
                SqlCommand mycmd = new SqlCommand(selectstr,myconn);
                SqlDataReader mysqlreader = mycmd.ExecuteReader();
                if(mysqlreader.Read())      //假如存在該使用者,則錄入需要的屬性!
                {
                    this.i_id=(int)mysqlreader["id"];
                    this.s_name=mysqlreader["name"].ToString();
                    this.s_nicheng=mysqlreader["nicheng"].ToString();
                    this.s_email=mysqlreader["email"].ToString();
                    this.s_password=mysqlreader["password"].ToString();
                    this.s_http=mysqlreader["http"].ToString();
                    this.s_oicq=mysqlreader["oicq"].ToString();
                    this.s_tag=mysqlreader["tag"].ToString();
                    this.i_charm=(int)mysqlreader["charm"];
                    this.i_score=(int)mysqlreader["score"];
                    this.i_bbswords=(int)mysqlreader["bbswords"];
                    this.s_pic=mysqlreader["pic"].ToString();
                    this.d_regtime=(DateTime)mysqlreader["regtime"];
                }
                else
                {
                    throw(new Exception("沒有該使用者!" ));
                }
            }
            catch(Exception e)
            {
                throw(new Exception("資料庫操作發生錯誤!" + e.Message));
            }
            myconn.Close();
            return(this);       
        }


上面的程式實現的是:通過使用者的ID號來取得使用者設定檔的,下面我們看看程式中有什麼新的東西!

首先我們開程式開始處引入了名字空間System.Data.SqlClient;這樣我們就可以用它來操作SQL資料庫了!

1.    在函數開始我們通過SqlConnection myconn=SohoTool.SetConn(); 得到SQL資料庫的串連。

2.設定了SQL查詢語句後,我們又定義了一個SqlCommand對象,並執行個體化,其實在ADO。NET中大部分SQL語句都能很方便的用Command來執行,但是如果和DateSet結合的話,就要引入其它的一些東西了,這個到後面我們在說!

3.定義SqlDataReader對象,並通過SqlCommand對象執行SQ語句,然後 將結果存入 SqlDataReader對象中,語句如下:SqlDataReader mysqlreader = mycmd.ExecuteReader();

4.設定屬性,並返回需要的結果

看了我前面文章的人,應該都能感覺到,其實操作SQL資料庫原來和操作ACCESS資料庫並沒有什麼區別嘛,無非是名字空間、COMMAND、READER的寫法變了個樣呀!呵呵,實際情況也幾乎就是這樣的!

備忘一、上面程式中我得到SQL資料庫連接是用的我自己的類,下面我吧這個程式也寫出來!
namespace Soholife
{
    using System;
    using System.Data;
using System.Data.SqlClient;

public class SohoTool
    {
        //建立與SQL資料庫的串連        
        public static SqlConnection SetConn()    
        {
            string connstr="server=soho;database=soholife;uid=sa;pwd=;";
            SqlConnection tempconn= new SqlConnection(connstr);
            return(tempconn);
        }
}
}
這個程式我想不需要什麼解釋的吧,用處就是得到資料庫連接,有些個人體會是, BETA1下,我們可以通過繼承CONNECTION,來建立自己的CONNECTION類,而在BETA2下,卻無法這樣做了,不知道為什麼要把CONNECTION類作成密封的形式!


好了,這次就先寫到這裡,下一次,我把會說說如何通過SqlCommand對象執行UPDATE、INSERT、DELETE語句!如果朋友們有問題也可以給我寫信討論!


相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

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

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