LINQ 可用來讀取 Object 、 SQL 、 XML 等各種不同的資料種類, 這裡寫個範例介紹有關讀取 MSSQL 抓取 Table 欄位值的方法。
SQL:
Table Name => TS_TestTable;
欄位內容如下前為欄位名,後面為型態:
ID: tinyint
Name: string
Address: string
這裡要注意 Linq 對到 SQL 彼此之間對數值的型別轉換
// LINQ SQL
// byte tinint
// int32 int
// int16 smallint
// int64 bigint
C#:
using System.Data.Linq;
using System.Data.Linq.Mapping;
using System.Data;
using System.Linq;
[Table]
public class TS_TestTable // C# 程式中先建立一個類Table 的類別
{
[Column(IsPrimaryKey = true)] // 可宣告此為唯一鍵值
public byte ID;
[Column]
public string Name;
[Column]
public string Address;
}
// 透過物件類別建立來連接 DB 及 取得 Table< >
public class CTableClass: DataContext
{
public CTableClass(string strConnect) : base(strConnect) { }
public Table<TS_TestTable> TS_TestTables;
}
try
{
// 連接資料庫字串(包括 DBName 、Password )
string connectionString = @"Data Source=TEST_DB;Initial Catalog=TSDATA;Persist Security Info=True;User ID=UU;Password=XX;"
CCategory ccategory = new CCategory(connectionString);
var rows = from row in ccategory.TS_TestTables select row;
foreach (var cc in rows)
{
Console.Write("ID: cc.ID.ToString() + "Name:" + cc.Name + "Address:" = cc.Address);
}
}
catch(Exception ex)
{
Console.Write("Error ==>" + ex.Message);
return;
}
SQL:
Table Name => TS_TestTable;
欄位內容如下前為欄位名,後面為型態:
ID: tinyint
Name: string
Address: string
這裡要注意 Linq 對到 SQL 彼此之間對數值的型別轉換
// LINQ SQL
// byte tinint
// int32 int
// int16 smallint
// int64 bigint
C#:
using System.Data.Linq;
using System.Data.Linq.Mapping;
using System.Data;
using System.Linq;
[Table]
public class TS_TestTable // C# 程式中先建立一個類Table 的類別
{
[Column(IsPrimaryKey = true)] // 可宣告此為唯一鍵值
public byte ID;
[Column]
public string Name;
[Column]
public string Address;
}
// 透過物件類別建立來連接 DB 及 取得 Table< >
public class CTableClass: DataContext
{
public CTableClass(string strConnect) : base(strConnect) { }
public Table<TS_TestTable> TS_TestTables;
}
try
{
// 連接資料庫字串(包括 DBName 、Password )
string connectionString = @"Data Source=TEST_DB;Initial Catalog=TSDATA;Persist Security Info=True;User ID=UU;Password=XX;"
CCategory ccategory = new CCategory(connectionString);
var rows = from row in ccategory.TS_TestTables select row;
foreach (var cc in rows)
{
Console.Write("ID: cc.ID.ToString() + "Name:" + cc.Name + "Address:" = cc.Address);
}
}
catch(Exception ex)
{
Console.Write("Error ==>" + ex.Message);
return;
}
留言
張貼留言