Đối tượng Parameter

Một phần của tài liệu Bài tập lập trình window form pot (Trang 109 - 113)

3.8.1. Chức năng

 Sửdụng đối tượng SqlParameter đểtruyền giá trị (lấy từtextbox, có sẵn…) vào cho các tham số ứng với câu lệnh SQL hay

thửthục nội tại (StoredProcedure).

 Chú ý: Chỉ sửdụng đối tượng này nếu câu lệnh SQL hay StoredProcedure có tham số. 3.8.2. Sửdụng

Giảsửchúng ta có một StoredProcedure thêm mới một bản ghi vào bảng tbSinhVien có nội dung:

CREATE PROCEDURE ThemMoiBanGhi (

@MaSinhVien nchar(10), @TenSinhVien nvarchar(50), @Lop nchar(10),

@NgaySinh nchar(12), @QueQuan nvarchar(12) )

AS BEGIN

If exists (select MaSinhVien from tbSinhVien where MaSinhVien=@MaSinhVien) print 'Da co sinh vien nay'

else

begin

Insert into tbSinhVien values (@MaSinhVien, @TenSinhVien,@Lop,@NgaySinh,@QueQuan) print 'Da them thanh cong'

end END

GO

Chúng ta sửdụng đối tượng SqlParameternhư dưới:

usingSystem.Data;

usingSystem.Data.SqlClient;

namespaceSampleDatabaseProgramming {

public partial classfrmADONET:Form

{

publicfrmADONET() {

InitializeComponent(); }

//Khai báo các chuỗi kết nối và các đối tượng

SqlConnectionsqlCon;

SqlCommandsqlCom;

SqlParametersqlPa;

//Phương thức kết nối tới CSDL SQL Server private voidKetNoi()

{

sqlCon =newSqlConnection(strConnect);

if(sqlCon.State ==ConnectionState.Closed) {

sqlCon.Open(); }

}

//Phương thức đóng kết nối tới CSDL private voidNgatKetNoi()

{

if(sqlCon.State ==ConnectionState.Open) {

sqlCon.Close(); }

}

//Phương thức ThucThiởdạng tổng quát: cảcâu lệnh SQL và Stored Procedure //Thực thi nhiều lần và các Store hay câu lệnh SQL có tham số

//Khai báo đối tượng Parameter /// <summary>

///Phương thức thực thi câu lệnh SQL hay StoredProcedure /// </summary>

/// <param name="cmdType">Thực thi dạng câu lệnh SQL hay StoredProcedure</param> /// <param name="strName">Tên câu lệnh SQL hay tên StoredProcedure</param> /// <param name="MangTen">Tên các tham sốtruyền vào StoredProcedure</param>

/// <param name="MangGiaTri">Giá trịtruyền vào cho các biến trong StoredProcedure</param> /// <param name="MangType">Kiểu dữliệu của biến</param>

public voidThucThi(CommandTypecmdType,stringstrName,string[] MangTen,object[] MangGiaTri,DbType[] MangType) {

KetNoi();

//

sqlCom =newSqlCommand(); sqlCom.CommandType = cmdType; sqlCom.CommandText = strName; sqlCom.Connection = sqlCon;

//Khai báo và gán các đối tượng Parameter for(inti = 0; i < MangTen.Length; i++) {

sqlPa =newSqlParameter();

sqlPa.ParameterName = MangTen[i]; sqlPa.Value = MangGiaTri[i]; sqlPa.DbType = MangType[i]; sqlCom.Parameters.Add(sqlPa); } //Thực thi câu lệnh sqlCom.ExecuteNonQuery(); NgatKetNoi(); } //Gọi thực thi Stored

private voidfrmADONET_Load(objectsender,EventArgse) {

string[] MangTen = {"MaSinhVien","TenSinhVien","Lop","NgaySinh","QueQuan"};

string[] MangGT = {"M01","Nguyễn Văn A","TK6","10/10/1988","Hưng Yên"};

DbType[] MangType={DbType.String,DbType.String,DbType.String,DbType.String,DbType.String};

//ThucThi(CommandType.StoredProcedure, "ThemMoiBanGhi", MangTen, MangGT, MangType);

//End

}

}

Một phần của tài liệu Bài tập lập trình window form pot (Trang 109 - 113)

Tải bản đầy đủ (PDF)

(125 trang)