程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# 使用LINQ訪問數據庫

C# 使用LINQ訪問數據庫

編輯:C#入門知識

C#的LINQ方式訪問數據庫無疑是非常方便的,下面給出了使用LINQ方式訪問MSSQL的基本方法。

 

 

首先聲明命名空間using System.Data.SqlClient;

 

再使用SqlConnection類連接,SqlCommand類執行SQL命令,結果返回給SqlDataReader類或其它類。

 

 

 

各類的基本用法介紹:

 

SqlConnection類

 

在構造時傳入連接數據庫字符串,也可以定義後通過ConnectionString屬性來設置。

 

用Open()連接數據庫,用Close()關閉連接。

 

 

 

SqlCommand類

 

在構造時傳入SQL命令和SqlConnection類對象,也可以定義後通過CommandText屬性和Connection屬性來設置。

 

執行SQL命令並得到結果                 SqlDataReader ExecuteReader()

 

執行SQL命令並得到受影響的行數    int ExecuteNonQuery()

 

 

 

SqlDataReader類

 

得到共有多少列          FieldCount屬性

 

得到第i列的列名         string GetName(int i)

 

得到第i列的數據類型  Type GetFieldType(int i)

 

判斷第i列是否為空     bool IsDBNull(int i)

 

得到第i列的數據        Object GetValue(int i)也可以直接sr[i].ToString()

 

前進到下一列            bool Read()

 

關閉                         void Close()

 

 

 

 

 

對於每個關聯的SqlConnection,一次只能打開一個SqlDataReader,在第一個關閉之前,打開另一個的任何嘗試都將失敗。類似地,在使用SqlDataReader 時,關聯的SqlConnection 正忙於為它提供服務,直到調用Close()時為止。

 

 

 

下面一些示例代碼:

 

<pre class="csharp" name="code"><span style="font-size:16px;">//連接數據庫 

string SQLCONNECT = @"server=PC-200907281720\SQLEXPRESS;database=master;uid=morewindows;pwd=12345"; 

SqlConnection conn = new SqlConnection(SQLCONNECT); 

conn.Open(); 

 

//連接數據庫之後就可以執行SQL命令了 

//使用SqlCommand類的ExecuteReader()返回執行的結果 

string SQLCOMMAND = "select CName, names, C4.LastLogin from C4, S4 where C4.LastLogin = S4.LastLogin order by CName, names"; 

SqlCommand sqlcmd = new SqlCommand(SQLCOMMAND, conn); 

SqlDataReader sr = sqlcmd.ExecuteReader(); 

 

Console.WriteLine("列數:" + sr.FieldCount);    

          

Console.WriteLine("列類型分別為:");  

int nSqlCol = sr.FieldCount; 

for (int i = 0; i < nSqlCol; ++i) 

Console.Write(sr.GetFieldType(i) + " "); 

Console.WriteLine(); 

 

while (sr.Read()) 

for (int i = 0; i < nSqlCol; i++) 

Console.Write(sr[i].ToString() + " "); 

Console.WriteLine(); 

sr.Close(); 

 

//通過SqlCommand 類的ExecuteNonQuery()來返回受影響的行數。 

string SQLCOMMAND2 = "update dbo.Messages set MessageNum='15' where MessageID='2'"; 

SqlCommand sqlcmd2 = new SqlCommand(SQLCOMMAND2, conn);//也可以用sqlcmd. ConnectionString = SQLCOMMAND2 代替 

int nResult = sqlcmd2.ExecuteNonQuery(); 

Console.WriteLine("受影響行數:" + nResult); 

 

conn.Close();</span> 

 

 

轉載請標明出處,原文地址:http://blog.csdn.net/morewindows/article/details/6858216

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved