2010-07-30 101 views
1

如何使用C#執行訪問查詢?我想創建表格,並從我的訪問數據庫插入/選擇數據。C#訪問數據庫查詢

+1

你必須至少有一些想法,從哪裏開始的任何類型的數據庫? Google上有很多文章,爲什麼不添加一些代碼來顯示你被卡住的地方? – Fionnuala 2010-07-30 15:31:17

+0

我對數據庫有所瞭解,因爲我在大學裏學習了mySQL和Oracle,並且我知道如何處理它們,但是現在我正在使用C#訪問,這對我來說很新...... – sikas 2010-07-30 15:47:49

+1

大多數主要的DB語法都很漂亮類似的幾個警告。一般來說,select語句是一個選擇語句,天氣是在MySQL,MSSQL2005或Oracle中。 – Terrance 2010-07-30 16:27:17

回答

1

這裏有兩個非常好的開始教程

Here is a good intro into what is actually going on.
Here has some pretty helpful example code.

普羅蒂普:請確保您有,如果他們 尚未安裝正確的ODBC驅動程序。我覺得SOOOO傻不搞清楚了這一點,從 開始笑,P

至於對付你DB假設你不是在飛行中所有你需要做的就是在創建數據庫創建一個Access數據庫訪問,保存並將其作爲數據源添加到您的應用程序中。 See here

例插入:

var insertStatement = @"insert into familytree (firstname, lastname, city, Tel, Email) values (@firstname, @lastname, @city, @tel, @email); SELECT @@IDENTITY"; 

//Open your connection and command 
using (OleDbConnection connection = new OleDbConnection(connectionString)) 
using (OleDbCommand cmd = new OleDbCommand(insertStatement, connection)) 
{ 
    //set parameters and values 
    var identityQuery = @"SELECT @@IDENTITY"; 
    var identity = -1; 
    cmd.Parameters.Add("@firstname", 'foo'); 
    cmd.Parameters.Add("@lastname", 'foo'); 
    cmd.Parameters.Add("@city", 'foo'); 
    cmd.Parameters.Add("@tel", '6666666'); 
    cmd.Parameters.Add("@email", '[email protected]'); 

    connection.Open(); 

    try{ 
     var numberOfRowsEffected = command.ExecuteNonQuery(); 
     //we should have 1 row effected. 
     if(numberOfRowsEffected>0){ 
      cmd.CommandText = identityQuery; 
      //get the identity 
      identity = (int)cmd.ExecuteScalar(); 
     } 
    }catch(InvalidOperationException ex){ 
     //log and throw: 
     //cant open connection or Cannot execute a command 
     //within a transaction context that differs from the 
     //context in which the connection was originally enliste 
    } 

    return identity; 
} 

同樣適用,如果你想創建一個表。只需編寫你的create table語句即可。 see here for example並執行。但是,就通常的方法而言,您通常希望讓您爲大多數簡單的應用程序設置表結構,並讓您的應用程序處理插入,更新和可能的刪除操作。不是說你不應該這樣做,但我會盡可能考慮KISS。

哦,這裏是一個msdn ref的OleDbCommand類,如果你想知道你還能做什麼。
OleDbCommand

+0

+1原型。在64位環境中尤其如此! – kbrimington 2010-07-30 15:37:27

+0

非常適合檢索數據,但是如何創建表格並插入數據呢? – sikas 2010-07-30 15:45:40