Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 12 kết quả

Đề tài: làm thế nào để bắt lỗi trong SQL để đưa ra chương trình C#

  1. #1
    Ngày gia nhập
    10 2010
    Bài viết
    146

    Mặc định làm thế nào để bắt lỗi trong SQL để đưa ra chương trình C#

    mình tạo 1 store procudure có chức năng insert như sau. khi sinh viên đã có thì sẽ xuất thông báo "SV đã tồn tại"..mình muốn hiển thị thông báo này lên meseage box

    Code:
    create proc them 
    @ID nvarchar(50),
    @Name nvarchar(50)
    as
    declare @dem int
    
    	begin
    		set @dem =(select COUNT (MSSV) from Sinhvien where MSSV=@ID)
    		If(@dem=0)
    			begin
    				insert into Sinhvien values(@ID,@Name)
    			end
    				else --truong hop sv nay da ton tai
    			begin
    				-- mình sẽ viết gì ở đây để khi thực thi chuong trình C# mình có thể biết đc   sinh viên này đã tồn tại (1 câu thông báo )
    			end
    	end

  2. #2
    Ngày gia nhập
    12 2010
    Bài viết
    683

    Cái này làm rất mượt mà trên C# bạn àh!

    Mình chưa thử trong store procudure...

    Bắt lỗi người dùng như bạn nói thì viết một cái hàm check mã...trên datagrdview chẳng hạn!!

    Nếu trong table của bạn có một khóa chính thì dùng try catch đi nó sẽ nhảy ra catch và thông báo lỗi cho người dùng...

    Mình chỉ biết vậy thôi hjhj

  3. #3
    Ngày gia nhập
    10 2010
    Bài viết
    146

    mình toàn làm trên C# nè bạn. làm trên C# thì ko nói làm gì :(..bây giờ mình muốn làm trên store Procedure..

  4. #4
    Ngày gia nhập
    02 2008
    Bài viết
    113

    google: return values from stored procedure in sql server
    Còn đây điếu thuốc cháy dở dang .
    Châm lên ta đốt mảnh đời tàn .
    Làn khói ngẩn ngơ theo dòng nhạc .
    Thuốc tàn mà... code ... mãi chưa xong .
    http://thanlong.govtc.com

  5. #5
    Ngày gia nhập
    08 2011
    Nơi ở
    Yên Bái- Hà Nội
    Bài viết
    961

    create proc them
    @ID nvarchar(50),
    @Name nvarchar(50),
    @Result nvarchar(50)
    as
    declare @dem int

    begin
    set @dem =(select COUNT (MSSV) from Sinhvien where MSSV=@ID)
    If(@dem=0)
    begin
    insert into Sinhvien values(@ID,@Name)
    set @Result='Thêm thành công'
    end
    else --truong hop sv nay da ton tai
    begin

    set @Result='sinh viên này đã tồn tại, vui lòng chọn cầu thủ khác.hehe'
    end
    end

    Bên C# truyền cho cho @Result=""(xâu rỗng). Lúc thực thi xong thì lấy giá trị của nó ra: cmd.Parameters["@Result"].value=>thông báo đó. bạn thử xem thế nào?
    Skype: mrfour.it - Yahoo:mrfour_it
    Gmail: mrfour.it@gmail.com
    Bạn muốn học lập trình? Bạn chưa có kiến thức cơ bản? Bạn muốn học từ cơ bản tới nâng cao?... Bạn muốn có source code để tham khảo? Muốn có người hỗ trợ khi học?....http://www.laptrinh123.com sẽ giúp bạn những điều đó!

  6. #6
    Ngày gia nhập
    03 2010
    Bài viết
    123

    Mặc định làm thế nào để bắt lỗi trong SQL để đưa ra chương trình C#

    store procedure trong sql chỉ return đc kiểu int. Bạn có thể return 0 nếu ko insert đc, sau đó phải code trong c# thôi.

  7. #7
    Ngày gia nhập
    03 2011
    Bài viết
    467

    dùng biến output trong store đó. nếu insert ok thi gán chuỗi cho nó. rồi ra ngoài code lấy giá trị đó mess lênL
    bongda24h.tv

  8. #8
    Ngày gia nhập
    08 2009
    Nơi ở
    C:\Documents and Settings\ME\My Documents\Visual Studio 2010
    Bài viết
    516

    Bạn có thể dùng:
    RAISERROR('Mã sinh viên đã tồn tại, thêm mới bị hủy bỏ' 16, 1).

  9. #9
    Ngày gia nhập
    03 2011
    Bài viết
    124

    Trích dẫn Nguyên bản được gửi bởi iamonlining Xem bài viết
    Bạn có thể dùng:
    RAISERROR('Mã sinh viên đã tồn tại, thêm mới bị hủy bỏ' 16, 1).
    Đúng như bạn Iamonlining nói, nên tận dụng sp để tối ưu code C# bạn ah
    Visual C# Code:
    1. If(@dem=0)
    2.     begin
    3.         insert into Sinhvien values(@ID,@Name)
    4.     end
    5. else --truong hop sv nay da ton tai
    6.     begin
    7.         RAISERROR('Mã sinh viên đã tồn tại, thêm mới bị hủy bỏ' 16, 1)
    8.                 RETURN
    9.     end

    ở bên code C# đặt trong try .... catch
    Đã được chỉnh sửa lần cuối bởi emxinh27 : 21-09-2011 lúc 05:33 PM. Lý do: bổ sung thêm
    Chia sẻ là học hỏi

  10. #10
    Ngày gia nhập
    10 2010
    Bài viết
    146

    cám ơn các bạn nhiều. tuy là mình chưa thử nhưng cũng đã hiểu được cách làm. ăn cơm xong sẽ thử

Các đề tài tương tự

  1. Làm Chữ chạy trên form C# như thẻ <marquee> trong HTML thế nào?
    Gửi bởi magnet241 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 6
    Bài viết cuối: 05-04-2012, 11:55 AM
  2. In thẻ,hóa đơn từ các textbox,combobox,datetimepicker trong form C# như thế nào?
    Gửi bởi snoit trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 04-04-2012, 03:13 PM
  3. Game Tạo Form trong suốt trong C# tựa game Thần Võ như thế nào?
    Gửi bởi tocvang_pro trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 5
    Bài viết cuối: 21-09-2011, 04:21 PM
  4. Sử lí như thế nào khi nhập rất chậm trong trình xoạn thảo trong devC
    Gửi bởi toansvcn trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 13
    Bài viết cuối: 23-05-2011, 10:04 PM
  5. Code tìm kiếm trong cây nhị phân trong C++. Lỗi chỉ tìm được từ đầu tiên trong file thôi sửa thế nào?
    Gửi bởi elvish trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 1
    Bài viết cuối: 11-04-2010, 09:43 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn