Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Làm sao để lấy thông báo từ SQL lên Winform

8 năm trước 1.880 lượt xem 5 bình luận 8 năm trước

Hiện tại em có 1 stored procedure như trên. Trong quá trình gọi thực hiện query thì bị dính phần CMND, chạy bên SQL thì hiện được dòng PRINT N'CMND đã được sử dụng!' , nhưng bên Winform, xử dụng provider như bài Quán cà phê, có cách nào lấy được dòng này để xuất lên thông báo không ạ?

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
Trần Thành Vi Thanh Member đã bình luận 8 năm trước

Thử bắt sự kiện InfoMessage của connection xem.

Ví dụ:

var connection = new SqlConnection(<chuỗi kết nối>);

connection.InfoMessage += MyFunction;


void MyFunction(object sender, SqlInfoMessageEventArgs e)
{
     MessageBox.Show(e.Message); // e.Message để lấy message từ dưới sql gửi lên
}

 

Shinigami đã bình luận 8 năm trước

Bạn tạo 1 hàm kiểm tra CMND có trùng không

+ Tạo 1 câu lệnh truy vấn:  

string Query = "select count (*) from dbo.KHACHHANG where CMND = @cmnd ";
// tạo 1 procedure cũng dc

+ Trong c# dùng câu lệnh excuteQuery( ) để chạy và gán vào 1 cái adapter

adapter A = excuteQuery( Query); 

+ Dùng Apdapter để fill dữ liệu đó vào 1 datatable

DataTable dataTable;
A.fill(dataTable)

+ Xong r kiểm tra . Nếu dataTable.Row = 0 có nghĩa là CMND chưa trùng . Nếu dataTable.Row = 1 có nghĩa là CMND trùng

if (dataTable.Row >0 ) 
{ CMND trùng }
else
{ Chưa trùng }

 

Câu hỏi mới nhất