# 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 |