Thực thi mệnh lệnh với cơ sở dữ liệu
Số trang: 9
Loại file: docx
Dung lượng: 40.14 KB
Lượt xem: 13
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tạo một mệnh lệnh (CREATING A COMMAND)Có rất nhiều cách ngoài cách sử dụng SqlCommand nhưng mình sẽ dùng cách này để làm vídụ vì nó được cung cấp tốt nhất trong việc liên kết với cơ sở dữ liệu SQL.Mở Visual C# chọn Console Application và dùng thử code sau để phân tích :
Nội dung trích xuất từ tài liệu:
Thực thi mệnh lệnh với cơ sở dữ liệu Ở bài viết này mình sẽ hướng dẫn các bạn cách tạo một mệnh lệnh (command) và thực thitrên cơ sở dữ liệu (database).Tạo một mệnh lệnh (CREATING A COMMAND)Có rất nhiều cách ngoài cách sử dụng SqlCommand nhưng mình sẽ dùng cách này để làm vídụ vì nó được cung cấp tốt nhất trong việc liên kết với cơ sở dữ liệu SQL.Mở Visual C# chọn Console Application và dùng thử code sau để phân tích :[code]using System;using System.Data;using System.Data.SqlClient;class MenhLenh{ public static void Main() { // tạo một kết nối SqlConnection conn = new SqlConnection(@Server = .SQLEXPRESS; Integrated Security = True; Database = Northwind); // tạo một đối tượng giữ lệnh cần thực thi SqlCommand cmd = new SqlCommand(); Console.WriteLine(Command created.); try { // mở kết nối conn.Open(); } catch (SqlException e) { Console.WriteLine(e.ToString()); } finally { // đóng kết nối conn.Close(); Console.WriteLine(Connection Closed.); } }}[/code]Bài này chính xác là bài mình đã giới thiệu và dùng làm ví dụ trong bài trước ‘Tạo một kết nốitới cơ sở dữ liệu’ cho nên mình không nói thêm gì về phần đóng/mở kết nối tới hệ quản trịcơ sở dữ liệu. Chỉ khác ở chỗ có thêm 2 dòng code tạo thêm mệnh lệnh :[code]// tạo một đối tượng giữ lệnh cần thực thi SqlCommand cmd = new SqlCommand(); Console.WriteLine(Command created.);[/code]Ở đây thông qua lớp ‘SqlCommand’ mình tạo một đối tượng để nắm giữ thông tin về lệnh.Sau khi tạo xong thì thông báo ra Console “Command created.” Chương trình về cơ bản là vậyrất đơn giản dễ hiểu. Đó là cách tạo đối tượng nắm giữ mệnh lệnh. Mệnh lệnh tạo ra chỉ cótác dụng KHI VÀ CHỈ KHI nó được chỉ định thực thi trong kết nối nào. Vì vậy phải cho nó đikèm với một kết nối tồn tại để tạo và thi hành mệnh lệnh được viết ra.Ví dụ sau mình sẽ minh họa các gán mệnh lệnh vào một kết nối.[code]using System;using System.Data;using System.Data.SqlClient;class MenhLenh{ public static void Main() { // tạo một kết nối SqlConnection conn = new SqlConnection(@Server = .SQLEXPRESS; Integrated Security = True; Database = Northwind); // tạo một đối tượng giữ lệnh cần thực thi SqlCommand cmd = new SqlCommand(); Console.WriteLine(Command created.); try { // mở kết nối conn.Open(); // gán mệnh lệnh vào kết nối cmd.Connection = conn; Console.WriteLine(Connected command to connection !); } catch (SqlException e) { Console.WriteLine(e.ToString()); } finally { // đóng kết nối conn.Close(); Console.WriteLine(Connection Closed.); } }}[/code]Bạn dễ thấy ví dụ này cũng chính là ví dụ ban đầu nhưng mình chỉ có thay đổi thêm một chúttrong khối lệnh ‘try’[code] // gán mệnh lệnh vào kết nối cmd.Connection = conn; Console.WriteLine(Connected command to connection !);[/code]Sau khi ở trên mình đã tạo ra một kết nối tới cơ sở dữ liệu và một đối tượng nắm giữ mệnhlệnh thi hành thì bên dướ mình thử gán mệnh lệnh với kết nối.Trong đối tượng của mệnh lệnh có một thuộc tính (properties) để gán vào một kết nối nàođó :CommandObject.Connection = ConnectionObject;Như ở trên thì sau khi gán kết nối xong thì Console sẽ thông báo ra kết quả là gán mệnh lệnhvào kết nối thành công.Câu hỏi đặt ra ở đây là : Tại sao không gán kết nối ngay khi tạo ra đối tượng kết nối mà phảicho vào khối ‘try..catch..finally’ làm cái gì ?Câu trả lời rất dễ hiểu: Bạn thử nghĩ xem sau khi bạn tạo kết nối thì muốn kích hoạt vàkiểm tra kết nối có tốt hay không thì phải ném vào trong khối ‘try..catch’. Giả sử mà bạn khaibáo gán mệnh lệnh ở ngay trước khối ‘try..catch’ và kết nối thành công thì không có lỗi gì cả.Nhưng trong trường hợp nếu có lỗi biến cố bất ngờ xảy ra thì khi gán mệnh lệnh vào kết nốisẽ có lỗi và chương trình sẽ ngưng hoạt động và ở tình trạng treo mà vẫn tiêu thụ tài nguyênmáy, rất lãng phí. Vì vậy mà tốt nhất gán trong khối ‘try..catch’ sau khi mở kết nối để gặp lỗithì ta có thể biết được lỗi và nguyên nhân gây lỗi và sửa (debug).Giải thích thế này khôngbiết có hiểu không ^_^!Tuy nhiên nếu bạn chắc chắn là kết nối đảm bảo tốt thì bạn có thể gán mệnh lệnh vào kếtnối ngay từ đầu và rút ngắn lại code[code]SqlCommand cmd = conn.CreateCommand();[/code]Tương đương với 2 dòng code[code]SqlCommand cmd = new SqlCommand();cmd.Connection = conn;[/code]Bạn đã tạo ...
Nội dung trích xuất từ tài liệu:
Thực thi mệnh lệnh với cơ sở dữ liệu Ở bài viết này mình sẽ hướng dẫn các bạn cách tạo một mệnh lệnh (command) và thực thitrên cơ sở dữ liệu (database).Tạo một mệnh lệnh (CREATING A COMMAND)Có rất nhiều cách ngoài cách sử dụng SqlCommand nhưng mình sẽ dùng cách này để làm vídụ vì nó được cung cấp tốt nhất trong việc liên kết với cơ sở dữ liệu SQL.Mở Visual C# chọn Console Application và dùng thử code sau để phân tích :[code]using System;using System.Data;using System.Data.SqlClient;class MenhLenh{ public static void Main() { // tạo một kết nối SqlConnection conn = new SqlConnection(@Server = .SQLEXPRESS; Integrated Security = True; Database = Northwind); // tạo một đối tượng giữ lệnh cần thực thi SqlCommand cmd = new SqlCommand(); Console.WriteLine(Command created.); try { // mở kết nối conn.Open(); } catch (SqlException e) { Console.WriteLine(e.ToString()); } finally { // đóng kết nối conn.Close(); Console.WriteLine(Connection Closed.); } }}[/code]Bài này chính xác là bài mình đã giới thiệu và dùng làm ví dụ trong bài trước ‘Tạo một kết nốitới cơ sở dữ liệu’ cho nên mình không nói thêm gì về phần đóng/mở kết nối tới hệ quản trịcơ sở dữ liệu. Chỉ khác ở chỗ có thêm 2 dòng code tạo thêm mệnh lệnh :[code]// tạo một đối tượng giữ lệnh cần thực thi SqlCommand cmd = new SqlCommand(); Console.WriteLine(Command created.);[/code]Ở đây thông qua lớp ‘SqlCommand’ mình tạo một đối tượng để nắm giữ thông tin về lệnh.Sau khi tạo xong thì thông báo ra Console “Command created.” Chương trình về cơ bản là vậyrất đơn giản dễ hiểu. Đó là cách tạo đối tượng nắm giữ mệnh lệnh. Mệnh lệnh tạo ra chỉ cótác dụng KHI VÀ CHỈ KHI nó được chỉ định thực thi trong kết nối nào. Vì vậy phải cho nó đikèm với một kết nối tồn tại để tạo và thi hành mệnh lệnh được viết ra.Ví dụ sau mình sẽ minh họa các gán mệnh lệnh vào một kết nối.[code]using System;using System.Data;using System.Data.SqlClient;class MenhLenh{ public static void Main() { // tạo một kết nối SqlConnection conn = new SqlConnection(@Server = .SQLEXPRESS; Integrated Security = True; Database = Northwind); // tạo một đối tượng giữ lệnh cần thực thi SqlCommand cmd = new SqlCommand(); Console.WriteLine(Command created.); try { // mở kết nối conn.Open(); // gán mệnh lệnh vào kết nối cmd.Connection = conn; Console.WriteLine(Connected command to connection !); } catch (SqlException e) { Console.WriteLine(e.ToString()); } finally { // đóng kết nối conn.Close(); Console.WriteLine(Connection Closed.); } }}[/code]Bạn dễ thấy ví dụ này cũng chính là ví dụ ban đầu nhưng mình chỉ có thay đổi thêm một chúttrong khối lệnh ‘try’[code] // gán mệnh lệnh vào kết nối cmd.Connection = conn; Console.WriteLine(Connected command to connection !);[/code]Sau khi ở trên mình đã tạo ra một kết nối tới cơ sở dữ liệu và một đối tượng nắm giữ mệnhlệnh thi hành thì bên dướ mình thử gán mệnh lệnh với kết nối.Trong đối tượng của mệnh lệnh có một thuộc tính (properties) để gán vào một kết nối nàođó :CommandObject.Connection = ConnectionObject;Như ở trên thì sau khi gán kết nối xong thì Console sẽ thông báo ra kết quả là gán mệnh lệnhvào kết nối thành công.Câu hỏi đặt ra ở đây là : Tại sao không gán kết nối ngay khi tạo ra đối tượng kết nối mà phảicho vào khối ‘try..catch..finally’ làm cái gì ?Câu trả lời rất dễ hiểu: Bạn thử nghĩ xem sau khi bạn tạo kết nối thì muốn kích hoạt vàkiểm tra kết nối có tốt hay không thì phải ném vào trong khối ‘try..catch’. Giả sử mà bạn khaibáo gán mệnh lệnh ở ngay trước khối ‘try..catch’ và kết nối thành công thì không có lỗi gì cả.Nhưng trong trường hợp nếu có lỗi biến cố bất ngờ xảy ra thì khi gán mệnh lệnh vào kết nốisẽ có lỗi và chương trình sẽ ngưng hoạt động và ở tình trạng treo mà vẫn tiêu thụ tài nguyênmáy, rất lãng phí. Vì vậy mà tốt nhất gán trong khối ‘try..catch’ sau khi mở kết nối để gặp lỗithì ta có thể biết được lỗi và nguyên nhân gây lỗi và sửa (debug).Giải thích thế này khôngbiết có hiểu không ^_^!Tuy nhiên nếu bạn chắc chắn là kết nối đảm bảo tốt thì bạn có thể gán mệnh lệnh vào kếtnối ngay từ đầu và rút ngắn lại code[code]SqlCommand cmd = conn.CreateCommand();[/code]Tương đương với 2 dòng code[code]SqlCommand cmd = new SqlCommand();cmd.Connection = conn;[/code]Bạn đã tạo ...
Tìm kiếm theo từ khóa liên quan:
quản trị dữ liệu cơ sở dữ liệu thực thi mệnh lệnh tạo mệnh lệnh đối tượng thực thiGợi ý tài liệu liên quan:
-
62 trang 401 3 0
-
Đề thi kết thúc học phần học kì 2 môn Cơ sở dữ liệu năm 2019-2020 có đáp án - Trường ĐH Đồng Tháp
5 trang 377 6 0 -
Đáp án đề thi học kỳ 2 môn cơ sở dữ liệu
3 trang 310 1 0 -
Giáo trình Cơ sở dữ liệu: Phần 2 - TS. Nguyễn Hoàng Sơn
158 trang 292 0 0 -
13 trang 292 0 0
-
Phân tích thiết kế hệ thống - Biểu đồ trạng thái
20 trang 285 0 0 -
PHÂN TÍCH THIẾT KẾ HỆ THỐNG XÂY DỰNG HỆ THỐNG ĐẶT VÉ TÀU ONLINE
43 trang 281 2 0 -
Tài liệu học tập Tin học văn phòng: Phần 2 - Vũ Thu Uyên
85 trang 255 1 0 -
Đề cương chi tiết học phần Quản trị cơ sở dữ liệu (Database Management Systems - DBMS)
14 trang 244 0 0 -
8 trang 186 0 0