Tài liệu Cơ sở dữ liệu Trong Microsoft .NET Framework phần 3 - Pdf 10

Bảng 10.5 Các thành viên thông dụng của các lớp data-reader
Thành viên Mô tả
Thuộc tính

FieldCount
Lấy số cột trong hàng hiện tại.
IsClosed
Trả về true nếu IDataReader bị đóng; false nếu nó hiện
đang mở.
Item
Trả về một đối tượng mô tả giá trị của cột cụ thể trong
hàng hiện tại. Cột có thể được chỉ định bằng một chỉ số
nguyên (đánh số từ 0) hoặc một chuỗi chứa tên cột. Bạn
phải ép giá trị trả về thành kiểu phù hợp. Đây là bộ chỉ
mục (indexer) cho các lớp data-reader.
Phương thức

GetDataTypeName
Lấy tên của kiểu dữ liệu đối với một cột cụ thể.
GetFieldType
Lấy đối tượng System.Type mô tả kiểu dữ liệu của giá
trị chứa trong cột cụ thể (cột này được chỉ định bằng
một chỉ số nguyên—đánh số từ 0).
GetName
Lấy tên của cột cụ thể (cột này được chỉ định bằng một
chỉ số nguyên—đánh số từ 0).
GetOrdinal
Lấy số thứ tự cột (đánh số từ 0) ứng với một tên cột cụ
thể.
GetSchemaTable
Trả về đối tượng System.Data.DataTable chứa siêu dữ


public class DataReaderExample {

public static void Main() {

// Tạo đối tượng SqlConnection mới.
using (SqlConnection con = new SqlConnection()) {

// Cấu hình chuỗi kết nối của đối tượng SqlConnection.
con.ConnectionString = "Data Source = localhost;" +
"Database = Northwind; Integrated Security=SSPI";

// Tạo và cấu hình câu lệnh mới.
SqlCommand com = con.CreateCommand();
com.CommandType = CommandType.Text;
com.CommandText = "SELECT BirthDate,FirstName,LastName " +
"FROM Employees ORDER BY BirthDate; " +
"SELECT * FROM Employees";

// Mở kết nối cơ sở dữ liệu và thực thi câu lệnh.
con.Open();

// Thực thi câu lệnh và thu lấy SqlReader.
using (SqlDataReader reader = com.ExecuteReader()) {

// Xử lý tập kết quả đầu tiên
// và hiển thị nội dung của tập kết quả.
Console.WriteLine("Employee Birthdays (By Age).");

while (reader.Read()) {

kết quả dạng XML.
#
#Sử dụng mệnh đề FOR XML trong truy vấn SQL để trả về kết quả dạng XML.
Thực thi câu lệnh bằng phương thức SqlCommand.ExecuteXmlReader, kết
quả trả về là một đối tượng System.Xml.XmlReader mà thông qua nó bạn có
thể truy xuất dữ liệu XML.
SQL Server 2000 và MSDE trực tiếp hỗ trợ XML. Bạn chỉ cần thêm mệnh đề FOR XML
AUTO vào cuối truy vấn SQL để cho biết rằng các kết quả sẽ được trả về ở dạng XML.
Theo mặc định, dạng XML này không phải là một tài liệu XML đầy đủ. Thay vào đó, nó
trả về kết quả của mỗi bản ghi theo từng phần tử (
element) riêng rẽ, với tất cả các trường
(field) đều là đặc tính (attribute). Ví dụ, truy vấn sau đây:
SELECT CustomerID, CompanyName FROM Customers FOR XML AUTO
sẽ trả về XML với cấu trúc như sau:
<Customers CustomerID="ALFKI" CompanyName="Alfreds Futterkiste"/>
<Customers CustomerID="ANTON" CompanyName="Antonio Moreno Taquería"/>
<Customers CustomerID="GOURL" CompanyName="Gourmet Lanchonetes"/>
§
Bạn có thể thêm từ khóa ELEMENTS vào cuối truy vấn để định dạng kết quả theo các
phần tử lồng nhau. Ví dụ, truy vấn sau đây:
SELECT CustomerID, CompanyName FROM Customers FOR XML AUTO,
ELEMENTS
sẽ trả về XML với cấu trúc như sau:
<Customers>
<CustomerID>ALFKI</CustomerID>
<CompanyName>Alfreds Futterkiste</CompanyName>
</Customers>


// Cấu hình chuỗi kết nối của đối tượng SqlConnection.
con.ConnectionString = "Data Source = localhost;" +
"Database = Northwind; Integrated Security=SSPI";

// Tạo và cấu hình câu lệnh mới có chứa FOR XML AUTO.
SqlCommand com = con.CreateCommand();
com.CommandType = CommandType.Text;
com.CommandText = "SELECT CustomerID, CompanyName" +
" FROM Customers FOR XML AUTO";

// Khai báo XmlReader để nó có thể được tham chiếu trong
// khối finally (bảo đảm đóng nó lại sau khi sử dụng).
XmlReader reader = null;

try {
// Mở kết nối cơ sở dữ liệu.
con.Open();

// Thực thi câu lệnh và lấy XmlReader
// để truy xuất các kết quả.
reader = com.ExecuteXmlReader();

while (reader.Read()) {

Console.Write("Element: " + reader.Name);
if (reader.HasAttributes) {
for (int i = 0; i < reader.AttributeCount; i++) {

reader.MoveToAttribute(i);

liệu XML (Chương 5 có rất nhiều ví dụ trình bày cách sử dụng lớp XmlDocument). D
ưới
đây là đoạn mã mà bạn sẽ cần:
XmlDocument doc = new XmlDocument();

// Tạo đối tượng SqlConnection mới.
using (SqlConnection con = new SqlConnection()) {

// Cấu hình chuỗi kết nối của đối tượng SqlConnection.
con.ConnectionString = "Data Source = localhost;" +
"Database = Northwind; Integrated Security=SSPI";

// Tạo và cấu hình câu lệnh mới có chứa FOR XML AUTO.
SqlCommand com = con.CreateCommand();
com.CommandType = CommandType.Text;
com.CommandText =
"SELECT CustomerID, CompanyName FROM Customers FOR XML AUTO";

// Mở kết nối cơ sở dữ liệu.
con.Open();

// Load dữ liệu XML vào XmlDocument. Cần phải tạo trước một
// phần tử gốc để có thể đặt mỗi phần tử hàng kết quả vào đó.
XmlReader reader = com.ExecuteXmlReader();
doc.LoadXml("<results></results>");

// Tạo XmlNode từ phần tử XML kế tiếp (được đọc t
ừ reader).
XmlNode newNode = doc.ReadNode(reader);


Microsoft Visual Studio .NET
, bạn hãy thêm một tham chiếu đến Microsoft SQLDMO
Object Library được liệt kê trong thẻ COM của hộp thoại Add Reference (xem hình 10.1). Hình 10.1 Chọn Microsoft SQLDMO Object Library trong hộp thoại Add Reference

Nếu không có Visual Studio .NET, bạn hãy sử dụng Type Library Importer (tlbimp.exe)
để tạo một Interop Assembly cho file sqldmo.dll (thường nằm trong thư mục \Program
Files\Microsoft SQL Server\80\Tools\Binn).
# Có một vấn đề đã được tìm thấy trong bản gốc SQLDMO Object Library. Để có
thể chạy được dự án này, bạn cần phải cài đặt SQL Server Service Pack 2 hoặc
mới hơn.
Giả sử bạn sử dụng các thiết lập mặc định khi tạo Interop Assembly cho mình, trước hết
bạn cần nhập không gian tên SQLDMO. Để lấy được danh sách các SQL Server đang có
hiệu lực, bạn hãy tạo mộ
t đối tượng SQLDMO.Application và gọi phương thức
ListAvailableSQLServers của nó. Mỗi chuỗi trong đối tượng trả về SQLDMO.NameList
The image part with relationsh ip ID rI d5 was not fo und in the file.
là tên của một SQL Server đang có hiệu lực. Bạn có thể sử dụng các tên này trong chuỗi
kết nối hoặc hiển thị chúng trong một danh sách cho người dùng chọn. Ví dụ dưới đây sẽ
hiển thị tên của tất cả các SQL Server có thể truy xuất được trong cửa sổ Console:
using System;
using SQLDMO;

public class SQLDMOExample {

public static void Main() {

// Thu lấy danh sách tất cả các SQL Server có hiệu lực.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status