C# Xin Hướng Dẫn Sử Dụng Procedure Nhận Tham Số Output Trang chủ » Truyền Tham Số Sql Trong C# » C# Xin Hướng Dẫn Sử Dụng Procedure Nhận Tham Số Output Có thể bạn quan tâm Truyền Tham Số Trong Javascript Truyền Tham Số Vào Hàm Trong Javascript Truyện Thần Bẫy được Triệu Hồi Sang Dị Giới Truyện Thần Cấp đại Ma đầu Dịch Truyện Thần Côn Xuống Núi Ký C# Xin hướng dẫn Sử dụng Procedure nhận tham số output programming c-sharp sql bachhothancon (Kaiser) February 18, 2015, 3:36pm #1 Mình có đoạn code này nhưng nó chạy bị sai P/s mình muốn hỏi có bạn nào share mình code hàm procedure mà truyền vào giá trị và trả vê giá trị public static bool ExcuteProcedure(string procName, SqlParameter[] parameters, SqlParameter[] parametersOut, string[] valueIn,string[] valueOut, string[] dataNameIn, string[] dataNameOut) { try { con = DataProvider.connect(); command = DataProvider.createCommandProcedure(con, procName); if (parameters != null) { foreach (SqlParameter para in parameters) { command.Parameters.Add(para); } int length = dataNameIn.Length; for (int i = 0; i < length; i++) { command.Parameters[dataNameIn[i]].Value = valueIn[i]; } } if (parametersOut != null) { foreach (SqlParameter para in parametersOut) { command.Parameters.Add(para).Direction = ParameterDirection.Output; } } command.ExecuteNonQuery(); if (parametersOut != null) { int num = dataNameOut.Length; for (int i = 0; i < num; i++) { valueOut[i] = command.Parameters[dataNameOut[i]].Value.ToString(); } } con.Close(); return true; } catch (Exception ex) { throw new Exception("Lỗi function DataService.ExcuteProcedure()!!! \n" + ex.Message); con.Close(); return false; } } tuancoi2506 (Phạm Hoàng Tuấn) January 10, 2015, 3:41am #2 Mình có hàm trả về giá trị kiểu int, bạn có thể tùy biến để trả về giá trị khác, Mình chưa thử trả về kiểu mảng hay gì đó. public int ExecuteNonQuery_output(SqlCommand cmd) { int result; try { _con.Open(); cmd.Connection = _con; result = cmd.ExecuteNonQuery(); } catch (Exception ex) { throw new Exception("Loi khi thuc thi lenh SQL: " + ex.Message); } finally { _con.Close(); } try { result = (int)cmd.Parameters["@output"].Value; } catch { } return result; } Bạn viết Store Procedure có kết quả trả về dùng keyword @output. ví dụ: CREATE PROCEDURE GetImmediateManager @employeeID INT, @managerID INT OUTPUT AS BEGIN SELECT @managerID = ManagerID FROM HumanResources.Employee WHERE EmployeeID = @employeeID END Cách sử dụng gọi hàm : public ArrayList DangNhap() { SqlCommand cmd = new SqlCommand(); cmd.CommandText = "usp_Vuong_DangNhap"; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@ten_tai_khoanOremail", SqlDbType.VarChar).Value = Email; cmd.Parameters.Add("@mat_khau", SqlDbType.VarChar).Value = MatKhau; cmd.Parameters.Add("@output", SqlDbType.Int).Direction = ParameterDirection.Output; DataTable dt = new DataTable(); dt = dp.ExecuteReader(cmd); ArrayList kq = new ArrayList(); kq.Add(Convert.ToInt32(cmd.Parameters["@output"].Value)); kq.Add(dt); return kq; } bachhothancon (Kaiser) January 10, 2015, 4:40am #3 thanks minhf sua duoc rui =))) SqlParameter[] paraOut = { new SqlParameter("@NAME", SqlDbType.NVarChar,40), (thieu size nen bi loi =))) ) 1 Like DayNhauHoc's Discord Học C++ Free? Click Blog Dạy Nhau Học Tự Học Lập Trình 83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao? Từ khóa » Truyền Tham Số Sql Trong C# (ADO.NET) SqlCommand Truy Vấn Và Cập Nhật Dữ Liệu C# SQL Server Làm Việc Với Cơ Sở Dữ Liệu SQL Server Trong C# - Openplanning Thực Thi Truy Vấn SQL Trong C#, SqlCommand, SqlParameter Cách Dùng Stored Procedure Trong C# [ADO.NET] - Freetuts Phần 4: Lập Trình Cơ Sở Dữ Liệu Với C# | Tìm ở đây C# – Truyền Tham Số - Henry Nguyễn [ADO.NET Tutorial] Lesson 06: Thêm Parameter Vào SqlCommand [C#] Hướng Dẫn Sử Dụng Từ Khóa Params để Truyền Nhiều Tham Số ... Cách Truyền Các Tham Số Trong Store Procedure | Bùi Anh Khoa THAM CHIẾU VÀ THAM TRỊ - Đào Hải Nam Cách Truyền Tham Số Có Kí Tự Unicode Vào Store Procedure Trong Sql Truy Vấn được Tham Số Hóa So Với SQL Injection - HelpEx