wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Câu Hỏi Ôn Tập ADO.NET

Total questions: 80

Worksheet time: 40mins

Name
Class
Date
1.

ADO là viết tắt của?

a)

Active Data Object

b)

Active Database Object

c)

ActiveX Data Object

d)

ActiveX Database Object

2.

ADO.NET đóng vai trò gì trong ứng dụng CSDL?

a)

Kết nối đến data source

b)

Thực thi câu lệnh

c)

Lấy dữ liệu, thao tác, lưu trữ

d)

Cả 3 đáp án trên

3.

___ framework gồm tập hợp các lớp được sử dụng để xử lý truy cập dữ liệu bằng cách kết nối với các cơ sở dữ liệu khác nhau như SQL Server, Access, Oracle…

a)

Visual Studio

b)

ASP.NET

c)

C#.NET

d)

ADO.NET

4.

ADO.NET tập hợp của ?

a)

Các lớp (Class)

b)

Giao diện (Interface)

c)

Cấu trúc (Structure)

d)

Cả 3 đáp án trên

5.

Kiến trúc ADO.NET bao gồm mấy phần chính?

a)

1

b)

2

c)

3

d)

4

6.

Thành phần "Connection" đóng vai trò gì trong kiến trúc ADO.NET?

a)

Cầu nối giữa CSDL với các đối tượng khác theo 2 chiều

b)

Cầu nối giữa CSDL với các đối tượng khác theo 1 chiều

c)

Thực hiện nhiệm vụ kết nối tới CSDL

d)

Thực hiện câu lệnh, cho phép truy xuất, thêm, cập nhật, xóa dữ liệu

7.

Thành phần "Command" đóng vai trò gì trong kiến trúc ADO.NET?

a)

Cầu nối giữa CSDL với các đối tượng khác theo 2 chiều

b)

Cầu nối giữa CSDL với các đối tượng khác theo 1 chiều

c)

Thực hiện nhiệm vụ kết nối tới CSDL

d)

Thực thi các truy vấn, câu lệnh, cho phép truy xuất, thêm, cập nhật, xóa dữ liệu

8.

DataTable trong kiến trúc của ADO.NET. Chọn đáp án sai:

a)

Thuộc thành phần dữ liệu trong kiến trúc ADO.NET

b)

Là thành phần quản lý dữ liệu, bao gồm nhiều table

c)

Là một thành phần trong DataSet, chứa dữ liệu của một bảng trong Dataset

d)

Bao gồm tập hợp các columns, rows.

9.

Sắp xếp các bước kết nối đến Database 1. Mở kết nối 2. Tạo đối tượng kết nối 3. Kiểm tra trạng thái của kết nối 4. Chọn .Net Data Provider 5. Đóng kết nối

a)

A. 1 -> 4 -> 3 -> 2 -> 5

b)

B. 2 -> 1 -> 3 -> 4 -> 5

c)

C. 3 -> 1 -> 4 -> 2 -> 5

d)

D. 4 -> 2 -> 1 -> 3 -> 5

10.

Các phương thức bảo mật CSDL của SQL Server

a)

Windows Authentication

b)

SQL server Authentication

c)

Mix mode: Windows Authentication, SQL server Authentication

d)

Windows Authentication, Mix mode: Windows Authentication, SQL server Authentication

11.

Dữ liệu được lưu trữ trong một cơ sở dữ liệu MS SQL Server, máy chủ tên Admin và cơ sở dữ liệu tên Monhoc. Để kết nối với Monhoc bằng cơ chế sử dụng xác thực Windows. Chuỗi kết nối nào sau đây là đúng

a)

Data Source = Admin/SQLEXPRESS; Initial Catalog = Monhoc; Integrated Security = True

b)

Data Source = Admin\SQLEXPRESS; Initial Catalog = Monhoc; Integrated Security = True

c)

Data Source = Admin\SQLEXPRESS; Initial Catalog = Monhoc; Integrated Security = False

d)

Tất cả đều đúng

12.

Phương thức nào được sử dụng để mở kết nối với cơ sở dữ liệu trong ADO.NET?

a)

Execute()

b)

Close()

c)

Open()

d)

Connect()

13.

Khi sử dụng phương thức để mở kết nối mới, bước nào sau đây KHÔNG phải là một bước thực hiện trong quá trình mở kết nối?

a)

Thiết lập kênh vật lý (socket hoặc pipe)

b)

Bắt tay với server

c)

Phân tích chuỗi kết nối

d)

Tự động đóng kết nối

14.

Khi nào bạn phải sử dụng phương thức Close() trong ADO.NET?

a)

Trước khi mở kết nối

b)

Sau khi mở kết nối thành công và hoàn thành công việc với cơ sở dữ liệu

c)

Trong khi phân tích chuỗi kết nối

d)

Khi thiết lập kênh vật lý

15.

Trong ADO.NET, chuỗi kết nối (connection string) chứa các thông tin nào?

a)

Tên cơ sở dữ liệu, tên người dùng, mật khẩu, và thông tin máy chủ

b)

Mã nguồn của cơ sở dữ liệu

c)

Danh sách các bảng trong cơ sở dữ liệu

d)

Kết quả của truy vấn SQL

16.

Đối tượng nào trong ADO.NET dùng để quản lý và duy trì kết nối với cơ sở dữ liệu?

a)

SqlCommand

b)

SqlConnection

c)

DataReader

d)

DataSet

17.

Tùy chọn nào bên dưới là đúng để tạo đối tượng kết nối với SQL Server?

a)

SqlConnection con = new SqlConnection ("Data Source=ServerName; Initial Catalog=DatabaseName;Integrated Security=SSPI");

b)

using (SqlConnection con = new SqlConnection("Data Source=ServerName; Initial Catalog=DatabaseName;Integrated Security=True")) {con.Open(); …}

c)

SqlConnection con = new SqlConnection(); con.ConnectionString = ("Data Source=ServerName; Initial Catalog=DatabaseName;Integrated Security=True");

d)

Tất cả đều đúng

18.

Lớp SqlConnection nằm trong namespace nào:

a)

System.Data.Connection

b)

System.Data

c)

System.Data.Sql

d)

System.Data.SqlClient

19.

Thuộc tính tối thiểu được yêu cầu để tạo chuỗi kết nối bằng đối tượng SqlConnection là gì?

(i) DataSource, Initial Catalog, Integrated Security=SSPI

(ii) Server, Database, Integrated Security=true

(iii) Server, Database, Userid=sa, Password=123

a)

i

b)

ii

c)

i và ii

d)

i và iii

20.

sqlConn là một đối tượng của SqlConnection, các phương thức để mở và đóng kết nối trong ADO.NET là

a)

sqlConn.Connect() và sqlConn.Dispose()

b)

sqlConn.Connect() và sqlConn.Disconnect()

c)

sqlConn.Open và sqlConn.Close()

d)

Tất cả đều đúng

21.

Chọn đối tượng dùng để liệt kê dữ liệu trong cơ sở dữ liệu?

(i) SqlConnection (ii) SqlDataAdapter (iii) SqlCommand (iv) DataTable

a)

i ii iii

b)

i iii

c)

i ii iv

d)

iii

22.

Phương thức nào được sử dụng để kiểm tra trạng thái của kết nối trước khi thực hiện truy vấn trong ADO.NET?

a)

IsConnected()

b)

State()

c)

Status()

d)

ConnectionState()

23.

Lớp nào sau đây không tồn tại trong namespace System.Data?

a)

DataRow

b)

DataTable

c)

DataColumn

d)

DataRecord

24.

Để đóng một kết nối với cơ sở dữ liệu trong ADO.NET, phương thức nào được sử dụng?

a)

End()

b)

Dispose()

c)

Close()

d)

B hoặc C

25.

Lớp nào trong ADO.NET được sử dụng để bắt và xử lý các ngoại lệ liên quan đến SQL Server?

a)

SqlCommand

b)

SqlException

c)

SqlError

d)

SqlDataAdapter

26.

Giá trị CommandType nào là KHÔNG chính xác?

a)

TableSchema

b)

TableDirect

c)

StoredProcedure

d)

Text

27.

Trong C#, cấu trúc nào sau đây được dùng để bắt và xử lý các ngoại lệ?

a)

if/else

b)

try/finally

c)

do/loop

d)

try/catch

28.

Lớp Data.SqlClient được sử dụng khi cần truy xuất đến Hệ quản trị cơ sở dữ liệu

a)

MS Access

b)

MySQL

c)

MS SQL Server

d)

Oracle

29.

Phương thức nào trong SqlCommand được sử dụng để thực thi một lệnh SQL mà không trả về dữ liệu?

a)

ExecuteReader()

b)

ExecuteNonQuery()

c)

ExecuteScalar()

d)

ExecuteXmlReader()

30.

Thuộc tính nào của đối tượng SqlCommand dùng để chứa câu lệnh SQL?

a)

CommandType

b)

Connection

c)

CommandText

d)

Parameters

31.

Dữ liệu được lưu trong MS SQL Server với tên server là M01 và cơ sở dữ liệu (CSDL) tên là DB01. Chúng ta cần đổ dữ liệu từ bảng TB01 trong CSDL vào DataGridView. Giả sử chúng ta có 02 đối tượng: SqlConnection tên conn và đối tượng SqlCommand là cmd. Đối tượng command sẽ được tạo như thế nào?

a)

cmd.CommandType = CommandType.Text; cmd.Connection = conn; cmd.CommandText = "select * from TB01";

b)

cmd.CommandType = Text; cmd.CommandConnection = conn; cmd.CommandText = "select * from TB01";

c)

cmd.CommandType = Text; cmd.Connection = conn; cmd.CommandText = "select * from TB01";

d)

cmd.CommandConnection = conn; cmd.Command.Text = "select * from TB01";

32.

Thuộc tính nào sau đây không phải của đối tượng SqlCommand

a)

CommandText

b)

Connection

c)

CommandType

d)

State

33.

Để thực thi nhiều câu lệnh Sql bằng DataReader thì

a)

Thiết lập thuộc tính CommandText bằng chuỗi các câu lệnh sql phân tách nhau bằng dấu chấm phẩy

b)

A. Thiết lập thuộc tính CommandType sang chế độ nhận nhiều kết qủa

c)

Gọi phương thức ExecuteReader của đối tượng Command nhiều lần

d)

Tất cả đều sai

34.

Phương thức nào của SqlCommand được sử dụng để đọc nhiều bản ghi (trả về 1 bảng dữ liệu) từ kết quả truy vấn?

a)

ExecuteReader()

b)

ExecuteNonQuery()

c)

ExecuteScalar()

d)

BeginExecuteNonQuery()

35.

Bạn cần truy vấn tổng số lượng bản ghi trong bảng employees, phương thức nào nên sử dụng?

a)

ExecuteNonQuery()

b)

ExecuteScalar()

c)

ExecuteReader()

d)

ExecuteXmlReader()

36.

Phương thức nào của SqlCommand khi thực thi sẽ trả về số lượng bản ghi bị ảnh hưởng trong bảng dữ liệu?

a)

ExecuteReader()

b)

ExecuteNonQuery()

c)

ExecuteScalar()

d)

ExecuteXmlReader()

37.

Thao tác nào trên dữ liệu không thể thực hiện bằng phương thức CRUDToTable

a)

Đọc

b)

Xóa

c)

Sửa

d)

Thêm

38.

Cách nào dưới đây không phải là phương pháp hợp lệ để truy cập dữ liệu từ một cột trong SqlDataReader?

a)

Truy cập theo tên cột.

b)

Truy cập theo chỉ mục cột.

c)

Truy cập qua phương thức GetXXX()

d)

Truy cập thông qua hàm ExecuteNonQuery()

39.

Phương thức nào trong SqlDataReader được sử dụng để lấy số lượng cột trong kết quả truy vấn?

a)

GetValue()

b)

ColumnCount()

c)

GetColumns()

d)

FieldCount

40.

Cách nào dưới đây là đúng để truy cập tất cả các cột của một dòng trong SqlDataReader mà không cần biết tên hoặc thứ tự các cột?

a)

Sử dụng thuộc tính FieldCount trong một vòng lặp for.

b)

Truy cập từng cột bằng chỉ mục.

c)

Truy cập từng cột bằng tên cột.

d)

Sử dụng ExecuteScalar()

41.

Chọn phát biểu đúng về đối tượng SqlCommand

a)

Thuộc tính CommandName dùng để chỉ định tên của cơ sở dữ liệu dùng để truy vấn

b)

Thuộc tính CommandText dùng để chỉ định tên stored procedure hoặc nội dung câu truy vấn.

c)

Thuộc tính CommandType dùng để chỉ định kết quả trả về của câu truy vấn.

d)

Tất cả đều đúng.

42.

Phương thức ExecuteScalar() được sử dụng để làm gì?

a)

Trả về giá trị đầu tiên của cột đầu tiên trong tập kết quả.

b)

Trả về toàn bộ các dòng trong tập kết quả.

c)

Thực thi một lệnh SQL mà không trả về dữ liệu.

d)

Trả về một tập giá trị từ tất cả các

43.

Khi nào nên sử dụng ExecuteScalar()?

a)

Khi muốn lấy nhiều dòng dữ liệu từ một bảng.

b)

Khi cần lấy một giá trị duy nhất từ cơ sở dữ liệu, chẳng hạn như kết quả của truy vấn COUNT() hoặc MAX().

c)

Khi cần lấy dữ liệu từ nhiều bảng khác nhau.

d)

Khi bạn chỉ cần thực thi câu lệnh SQL mà không trả về kết quả.

44.

Sự khác biệt giữa ExecuteScalar() và ExecuteReader() là gì?

a)

Không có sự khác biệt giữa hai phương thức này.

b)

ExecuteScalar() trả về một tập kết quả, trong khi ExecuteReader() trả về một giá trị đơn.

c)

ExecuteScalar() dùng để cập nhật dữ liệu, còn ExecuteReader() dùng để truy vấn dữ liệu.

d)

ExecuteScalar() trả về một giá trị đơn, trong khi ExecuteReader() trả về một tập kết quả.

45.

Nếu cần lấy tổng số tiền trong một cột từ bảng Orders, bạn sẽ sử dụng truy vấn SQL nào với ExecuteScalar()?

a)

SELECT * FROM Orders

b)

SELECT SUM(TotalAmount) FROM Orders

c)

UPDATE Orders SET TotalAmount = 0

d)

DELETE FROM Orders WHERE TotalAmount = 0

46.

Nếu câu truy vấn ExecuteScalar() trả về một giá trị không phải là số nguyên, thì cần làm gì?

a)

Không cần thực hiện thêm bước nào, ExecuteScalar() sẽ tự động chuyển đổi về int.

b)

Bạn cần ép kiểu giá trị trả về sang kiểu dữ liệu phù hợp.

c)

Luôn sử dụng ExecuteNonQuery() thay vì ExecuteScalar().

d)

Không có cách nào để lấy giá trị không phải là số nguyên bằng ExecuteScalar().

47.

Phương thức nào được sử dụng để đọc từng dòng dữ liệu từ IDataReader?

a)

GetValue()

b)

Read()

c)

Execute()

d)

Fetch()

48.

Phương thức Read của đối tượng DataReader sẽ

a)

Di chuyển và trỏ đến bản ghi kế tiếp, nếu hết bản ghi thì đưa ra ngoại lệ.

b)

Di chuyển và trỏ đến bản ghi kế tiếp, nếu hết bản ghi thì quay về vị trí bắt đầu.

c)

Di chuyển và trỏ đến bản ghi kế tiếp, nếu hết bản ghi thì đóng lại.

d)

Di chuyển và trỏ đến bản ghi kế tiếp, nếu hết bản ghi thì trả về false.

49.

Phương thức nào sau đây được dùng để kiểm tra xem một giá trị trong cột có phải là DBNull hay không?

a)

IsNull()

b)

IsDBNull()

c)

CheckDBNull()

d)

IsEmpty()

50.

Phương thức nào sau đây trả về giá trị của một cột theo kiểu dữ liệu int ?

a)

GetInt()

b)

GetInteger()

c)

GetInt32()

d)

GetInt16()

51.

Thuộc tính HasRows của IDataReader

a)

Trả về true nếu IDataReader có chứa bất kỳ hàng nào, ngược lại là false

b)

Trả về số cột trong tập kết quả.

c)

Trả về số lượng bản ghi bị ảnh hưởng bởi câu lệnh SQL

d)

Kiểm tra xem giá trị của một cột có phải là giá trị null trong cơ sở dữ liệu hay không

52.

Thuộc tính nào của SqlDataReader cho biết một IDataReader có từ 01 dòng dữ liệu trở lên

a)

HasRow

b)

Rows

c)

CountRow

d)

HasRows

53.

Chọn phát biểu đúng về đối tượng DataReader

a)

Đối tượng DataReader là một đối tượng tiến-lùi (forward-backward)

b)

Cung cấp môi trường ngắt kết nối

c)

Đối tượng DataReader là một đối tượng chỉ đọc (read only)

d)

Tất cả đều đúng

54.

Khi sử dụng SqlParameter, thuộc tính nào sau đây được sử dụng để gán giá trị cho tham số?

a)

SqlParameter.DataType

b)

SqlParameter.Value

c)

SqlParameter.ParameterName

d)

SqlParameter.Length

55.

Câu lệnh nào sau đây được sử dụng để thêm một tham số kiểu string vào đối tượng SqlCommand trong C#?

a)

command.Parameters.Add("@Param", SqlDbType.String);

b)

command.Parameters.AddWithValue("@Param", "Value");

c)

command.Parameters.Add(new SqlParameter("@Param", SqlDbType.NVarChar) { Value = "Value" });

d)

command.Parameters.AddParameter("@Param", SqlDbType.Text, "Value");

56.

Truy vấn có tham số trong SQL giúp ngăn chặn hình thức tấn công nào sau đây?

a)

XSS (Cross-site Scripting)

b)

Phishing

c)

Brute Force

d)

SQL Injection

57.

Kiểu dữ liệu nào được sử dụng để chỉ định kiểu dữ liệu của tham số SqlParameter

a)

SqlDataType

b)

SqlDbType

c)

SqlParameterType

d)

DataType

58.

Thuộc tính nào dưới đây không phải là thuộc tính của SqlParameter?

a)

ParameterName

b)

Value

c)

DbConnection

d)

SqlDbType

59.

Trong SQL Server, làm cách nào để tạo một Stored Procedure?

a)

CREATE PROCEDURE procedure_name AS ...

b)

MAKE PROCEDURE procedure_name AS ...

c)

BUILD PROCEDURE procedure_name AS ...

d)

SET PROCEDURE procedure_name AS ...

60.

Stored Procedure có thể nhận tham số kiểu gì?

a)

Chỉ tham số đầu vào (Input).

b)

Chỉ tham số đầu ra (Output).

c)

Cả tham số đầu vào và đầu ra (Input và Output).

d)

Không thể nhận tham số.

61.

Lệnh ExecuteReader() được sử dụng để làm gì trong khi gọi stored procedure?

a)

Thực thi một stored procedure và trả về số dòng bị ảnh hưởng.

b)

Thực thi một stored procedure và trả về giá trị đơn lẻ.

c)

Thực thi một stored procedure và trả về nhiều dòng kết quả dưới dạng một đối tượng SqlDataReader.

d)

Thực thi một stored procedure và trả về dữ liệu XML.

62.

Tùy chọn nào phù hợp với phần … trong đoạn code sau: string StrSQL = "update bang1 set ten=@ten where ma=@ma"; SqlCommand Cmd = new SqlCommand(StrSQL); ………… Cmd.Parameters.AddWithValue("@ma", txtMa.Text); Cmd. Parameters.Add("ma", txtMa.Text); Cmd.Parameter.Add("@ma", txtMa.Text); Cmd.Parameters.Add("@ma", txtMa.Text);

a)

Cmd.Parameters.AddWithValue("@ma", txtMa.Text);

b)

Cmd.Parameters.Add("ma", txtMa.Text);

c)

Cmd.Parameter.Add("@ma", txtMa.Text);

d)

Cmd.Parameters.Add("@ma", txtMa.Text);

63.

Để parameter nhận được giá trị trả về từ stored procedure cần sử dụng __________.

a)

ParameterDirection.Output

b)

ParameterDirection.InputOutput

c)

StoredProcedure.Output

d)

StoredProcedure.InputOutput

64.

Phát biểu nào sau đây là đúng về Dataset:

a)

Dataset có thể lưu tối đa 03 table trong cache

b)

Dataset chỉ có thể lưu 01 table trong cache

c)

Dataset không thể lưu bất kỳ table nào trong cache

d)

Dataset có thể lưu nhiều table trong cache

65.

Khi tạo một quan hệ giữa các bảng trong DataSet thì

(i) UniqueConstraint được thêm vào bản cha

(ii) ForeignKeyConstraint mặc định sẽ được thêm vào bảng con

a)

i

b)

ii

c)

i ii

d)

tất cả đều sai

66.

Thuộc tính nào của DataTable được sử dụng để thiết lập khóa chính ?

a)

PrimaryKey

b)

Key

c)

UniqueKey

d)

Index

67.

Câu nào sau đây đúng khi nói về DataRow

a)

DataRow là một cột trong bảng.

b)

DataRow chứa một dòng dữ liệu trong bảng.

c)

DataRow chứa toàn bộ dữ liệu của DataSet.

d)

DataRow là ràng buộc khóa ngoại của bảng.

68.

Khi muốn đảm bảo rằng các giá trị trong một cột của bảng không được trùng lặp, sẽ sử dụng:

a)

PrimaryKey

b)

UniqueConstraint

c)

ForeignKeyConstraint

d)

DataRelation

69.

Cú pháp đúng để tạo ra một bảng dữ liệu phù hợp với SQL Server

a)

DataTable = .Table.Add();

b)

SqlDataTable = new SqlDataTable();

c)

SqlTable = .SqlTable.Add();

d)

DataTable = new DataTable();

70.

Phương thức nào của SqlDataAdapter được sử dụng để nạp dữ liệu vào Dataset?

a)

Fill

b)

Update

c)

Fills

d)

Push

71.

Đoạn mã thích hợp để đưa dữ liệu vào một dataset, SachDataSet, sử dụng đối tượng SachDataAdapter là

a)

SachDataAdapter.Update(SachDataSet)

b)

SachDataAdapter.Push(SachDataSet)

c)

SachDataAdapter.Fill(SachDataSet)

d)

SachDataAdapter.Fills(SachDataSet)

72.

Phương thức nào của lớp SqlDataAdapter được dùng để cập nhật các thay đổi dữ liệu từ một Dataset lên nguồn dữ liệu (data source)?

a)

Save

b)

ExecuteNonQuery

c)

Update

d)

Fill

73.

Đối tượng nào KHÔNG là đối tượng DataAdapter?

a)

QueryDataAdapter

b)

OleDbDataAdapter

c)

SqlDataAdapter

d)

Tất cả đều đúng

74.

Thành phần nào không phải là thuộc tính của đối tượng Data Adapter:

a)

SQLCommand

b)

DeleteCommand

c)

InsertCommand

d)

UpdateCommand

75.

DataAdapter không thể

a)

lấy dữ liệu

b)

chứa dữ liệu

c)

cập nhật dữ liệu

d)

tất cả đều đúng

76.

Giả sử chúng ta có đối tượng kết nối SqlConnection là conn và kết nối đã được mở. Kết nối đã được tạo thành công. Kết quả thực thi của đoạn lệnh bên dưới:

a)

Một DataSet trong đó có 1 DataTable tên là "sinhvien"

b)

Một DataSet trong đó không có bất kỳ DataTable nào

c)

Báo lỗi

d)

Một DataSet trong đó có 1 DataTable tên là "sv"

77.

Để gọi phương thức Select của lớp SinhVien thì tùy chọn nào sau đây là phù hợp

a)

DataTable SvTB = SinhVien.Select("Select * From tbSinhVien");

b)

SinhVien.Select("Select * From tbSinhVien");

c)

DataTable SvTB = SinhVien.Select();

d)

Select("Select * From tbSinhVien");

78.

Lệnh nào dưới đây hiển thị nội dung mục đang chọn trên gridBox1 lên textBox1 khi người dùng chọn các mục của gridBox1 (bằng cách click chuột)?

a)

textBox1.Text = gridBox1.Cells[CurrentIndex].Value.ToString();

b)

textBox1.Text = gridBox1.Rows[CurrentIndex].Value.ToString();

c)

textBox1.Text = gridBox1.Cells[e.RowIndex][0].Value.ToString();

d)

textBox1.Text = gridBox1.Rows[e.RowIndex].Cells[0].Value.ToString();

79.

Chọn thứ tự đúng của các đối tượng để hiển thị dữ liệu trên Form

(i) DataGridView (ii) SqlConnection (iii) DataTable (iv) SqlDataAdapter

a)

(iii) - (i) - (iv) - (ii)

b)

(i) - (iv) - (iii) - (ii)

c)

(ii) - (iv) - (iii) - (i)

d)

(i) - (ii) - (iii) - (iv)

80.

Một ___ được xác định trong namespace System.Data và biểu diễn một bảng dữ liệu lưu trữ trong bộ nhớ (memory-resident).

a)

SqlDataTable

b)

SqlDataSet

c)

DataSet

d)

DataTable