Tôi đã một stored procedure mà chấp nhận một tài bảng định nghĩa kiểu gọi SeasonTable
mà trông như thế này:C#: qua DataTable để thủ tục lưu trữ: Cột thứ tự vấn đề
SeasonTable
[SeasonId] [int] NOT NULL,
[SeasonName] [varchar](50) NOT NULL,
[Month] [int] NULL,
[IsDeleted] [bit] NOT NULL
Stored thủ tục giống như được hiển thị bên dưới
CREATE PROCEDURE [dbo].[udpTest]
(
@STable dbo.SeasonTable READONLY
)
AS
BEGIN
SELECT [SeasonName] as SeasonName,[SeasonId],[Month],[IsDeleted]
FROM @AdminBillingSeasonsTable
END
Khi tôi gọi đây là từ C# ứng dụng
private DataTable TestCreateDataTable()
{
DataTable dt = new DataTable();
dt.Columns.Add("SeasonName", typeof(string));
dt.Columns.Add("SeasonId", typeof(int));
dt.Columns.Add("Month", typeof(int));
dt.Columns.Add("IsDeleted", typeof(bool));
dt.Rows.Add("season1",1, 4, false);
dt.Rows.Add("season2",2, 9, false);
dt.Rows.Add("season3",3, 11, false);
return dt;
}
Khi tôi sử dụng bảng trên như param để SP từ C ứng dụng # nó được ném lỗi:
unable to convert "season1" to int.
Điều này có nghĩa thứ tự cột trong C# ứng dụng nên có giống như thứ tự cột trong SQL?
Bất kỳ trợ giúp nào về vấn đề này đều được đánh giá cao.
Cảm ơn trước
bạn đã từng chơi chuyển đổi chuỗi Cột của bạn (SeasonId sau đó SeasonName) trong dt ?? – yogi
@yogi ya sau khi chuyển đổi nó hoạt động tốt. !!!! – sandeep
@yogi có thể cần phải thêm rằng như là câu trả lời: vì vậy mọi người biết nó đã được trả lời – whytheq