Từ 1 tới 6 trên tổng số 6 kết quả

Đề tài: Lỗi Error converting data type varchar to bigint trong SQL?

  1. #1
    Ngày gia nhập
    11 2011
    Bài viết
    13

    Red face Lỗi Error converting data type varchar to bigint trong SQL?

    Mình có đoạn code store như sau
    Code:
    CREATE PROCEDURE [dbo].[st_LayCauHoiKhongTrung]
    	@caccauhoi varchar(100),
    	@macauhoi int
    AS
    BEGIN
    	select * from CAU_HOI
    	where NUTCHA = @macauhoi and MACAUHOI not in (@caccauhoi)
    END
    Code thực thi
    Code:
    exec st_LayCauHoiKhongTrung '345,346,348','343'
    Mục đích của mình là dãy 345,346,348 là chuỗi, truyền chuỗi này vào store để lấy ra các câu hỏi có mã câu hỏi không nằm trong chuỗi truyền vào

    nhưng khi mình thực thi store trên thì báo lỗi
    Code:
    Msg 8114, Level 16, State 5, Procedure st_LayCauHoiKhongTrung, Line 11
    Error converting data type varchar to bigint.
    Khi mình chạy trực tiếp trên SQL không thông qua store thì không sao cả
    Code:
    select * from CAU_HOI
    where NUTCHA = '343' and MACAUHOI not in (345,346,348)

  2. #2
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Giở sách giáo khoa ra học lại về phần IN và định nghĩa array.

    Mệnh đề IN chỉ nhận một array (một dãy các trị) chứ không nhận một string trông giống như array

    (345,346,348) là một array số nguyên

    '345,346,348' là một string trông giống như array

  3. #3
    Ngày gia nhập
    11 2011
    Bài viết
    13

    Vậy có cách nào để sửa ko vậy ?

  4. #4
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Nghiên cứu cái gọi là câu truy vấn động (dynamic sql string)

  5. #5
    Ngày gia nhập
    11 2011
    Bài viết
    13

    uh, cảm ơn bạn nhìu, mình làm được rùi

  6. #6
    Ngày gia nhập
    12 2009
    Nơi ở
    Thanh Xuan, HN, Vietnam
    Bài viết
    42

    Mặc định Lỗi Error converting data type varchar to bigint trong SQL?

    Trích dẫn Nguyên bản được gửi bởi cutuan527 Xem bài viết
    Mình có đoạn code store như sau
    Code:
    CREATE PROCEDURE [dbo].[st_LayCauHoiKhongTrung]
    	@caccauhoi varchar(100),
    	@macauhoi int
    AS
    BEGIN
    	select * from CAU_HOI
    	where NUTCHA = @macauhoi and MACAUHOI not in (@caccauhoi)
    END
    Code thực thi
    Code:
    exec st_LayCauHoiKhongTrung '345,346,348','343'
    )[/CODE]
    Bạn khai báo @macauhoi là int thì khi chạy Sp bạn lại truyền vào kiểu kí tự '343' trong đối số thứ 2 truyền vào của câu lệnh:exec st_LayCauHoiKhongTrung '345,346,348','343'
    Sửa thành exec st_LayCauHoiKhongTrung '345,346,348',343

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

  1. conversion failed when converting character string to smalldatetime data type
    Gửi bởi shinichi_kude trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 23-05-2013, 09:55 AM
  2. error C1083: Cannot open type library file: Error loading type library/DLL
    Gửi bởi nguyenduykhanh1986 trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 1
    Bài viết cuối: 08-03-2012, 10:16 PM
  3. MS SQL với C# Xử lý table tonkho bị lỗi: Syntax error converting datetime from character string?
    Gửi bởi sonsonsonson trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 5
    Bài viết cuối: 29-08-2011, 02:17 PM
  4. Lỗi: "Unable to cast object of type 'Sales.SqlMessage' to type 'System.Data.DataSet"
    Gửi bởi TTDlatoi trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 18-05-2011, 07:51 PM
  5. Database Lỗi Error converting data type varchar to float. Chuyển kiểu dữ liệu khi tìm kiếm như thế nào?
    Gửi bởi dothanhlap trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 17-05-2011, 01:20 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