---
# System prepended metadata

title: Trắc nghiệm lập trình cơ sở dữ liệu

---

# Trắc nghiệm lập trình cơ sở dữ liệu

Cho Stored Procedure sau

```sql=
CREATE PROC spTenDA @TenDA nvarchar(20) output, @MaDA int
AS

SELECT @TenDA = TenDA

FROM DuAn

WHERE MaDA =@MaDA

```

Câu 1 Chọn câu gọi stored procedure đúng:

- [x] A)

```sql=
Declare @ten nvarchar(20)

Exec spTenDA @ten output, 123

Print ‘Ma du an la: ’ + @ten
```

- [ ] B)

```sql=
Declare @ten nvarchar(20)

Exec spTenDA @ten , 123

Print ‘Ma du an la: ’ + @ten
```

- [ ] C)

```sql=
Print ‘Ma du an la: ’ + spTenDA @ten output, 123
```

- [ ] D)

```sql=
Declare @ten nvarchar(20)

Exec @ten =spTenDA 123

Print ‘Ma du an la: ’ + @ten
```


Câu 2

Câu lệnh đúng để lấy thông tin nhân viên từ tên nhân viên trong database từ ứng dụng ADO.NET

- [ ] A)
```sql=
Connection conn = new Connection(chuoiKetNoi);

string sqlStr = "Select * from NhanVien where TenNV=" + tenNV;           

SqlDataAdapter da = new SqlDataAdapter(sqlStr, conn);

da.Fill();

DataTable dt = ds.Tables[0];
```


- [ ] B)
```sql=
Connection conn = new Connection(chuoiKetNoi);

string sqlStr = "Select * from NhanVien where TenNV=" + tenNV;           

SqlCommand   cmd = new SqlCommand(query, conn);

cmd.Connection.Open();

cmd.ExecuteNonQuery();

cmd.Connection.Close();  
```


- [x] C)

```sql=
Connection conn = new Connection(chuoiKetNoi);

string sqlStr = "Select * from NhanVien where TenNV=" + tenNV;           

SqlDataAdapter da = new SqlDataAdapter(sqlStr, conn);

DataSet ds = new DataSet();

da.Fill(ds);

DataTable dt = ds.Tables[0];
```

- [ ] D)

```sql=
Connection conn = new Connection(chuoiKetNoi);

string sqlStr = "Select * from NhanVien where TenNV=" + tenNV;           

SqlCommand cmd = new SqlCommand(sql, conn);

cmd.ExecuteScalar();

DataSet ds = new DataSet();

cmd.Fill(ds);

DataTable dt = ds.Tables[0];
```

Câu 3

Câu lệnh đúng để lấy tên nhân viên ở cột thứ 2 của DataGridView gán vào TextBox

- [ ] A)

```sql=
private void gVNV_CellClick(object sender, DataGridViewCellEventArgs e)

{

   txtten.Text = gVNV.Rows[e.RowIndex].Cells[2].Value.ToString();

}
```

- [ ] B)

```sql=
private void gVNV_CellClick(object sender, DataGridViewCellEventArgs e)

{

   txtten.Text = gVNV.Rows[e.RowIndex].Cells[1].Value.ToString();

}
```

- [ ] C)
```sql=
private void gVNV_Click(object sender, DataGridViewCellEventArgs e)

{

   txtten.Text = gVNV.Rows[e.RowIndex].Cells[1].Value.ToString();

}

```

- [ ] D)

```sql=
private void gVNV_CellClick(object sender, DataGridViewCellEventArgs e)

{

   txtten.Text = gVNV.Rows.Cells[1].Value.ToString();

}
```

Câu 4

Lấy danh sách các sản phẩm có số lượng tồn kho lớn hơn 20

- [ ] A)
```sql=
var ds = databaseContext.Products.Where(NumberInStock > 25) 
```


- [x] B)

```sql=
var ds = databaseContext.Products.Where(p=>p.NumberInStock > 25) 
```

- [ ] C)
```sql=
var ds = databaseContext.Products.Finds(p=>p.NumberInStock > 25) 
```


- [ ] D)
```sql=
var ds = databaseContext.Products.Take(p=>p.NumberInStock > 25) 
```



Câu 5

Khi viết ứng dụng Entity Framework CodeFrist, muốn thay đổi mã lệnh trong một lớp mà có kết nối đến CSDL thì cần có đối tượng nào

- [ ] A) Migrations

- [ ] B) Migration

- [x] C) EFMigrations

- [ ] D) DbSet

---



| Câu    | 1   | 2   | 3   | 4   | 5   | 6   | 7   | 8   | 9   | 10  |
| ------ | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Đáp án | A   | B   | A   | D   | B   | A   | A   | B   | A   | B   |

| Câu    | 11  | 12  | 13  | 14  | 15  | 16  | 17  | 18  | 19  | 20  |
| ------ | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Đáp án | A   | C   | B   | A   | A   | A   | C   | C   | A   | A   |


