我试图使用SQL存储过程返回表中的所有行。然后使用C#将结果存储在DataTable中。
在通过EXEC命令执行存储过程时,我在SQL环境中获得了预期的结果。但是当值存储在DataTable中时,很少行只显示错误,而其他行则显示一些数据。
存储过程如下:
ALTER PROCEDURE procDDSDDAReg (@v_querytype VARCHAR(20), @v_Itemindex INT)
AS
BEGIN
IF @v_querytype = 'SELECT_REQUEST'
BEGIN
SELECT * FROM DDSInternetBankingDDADetails o
WHERE isnull(o.uploadstatus,'N') = 'N' AND o.InstructionCode='RQST';
END;
ELSE IF @v_querytype = 'UPDATE'
BEGIN
UPDATE DDSInternetBankingDDADetails SET uploadstatus ='Y' WHERE Itemindex=@v_Itemindex
END;
ELSE IF @v_querytype = 'UPDATE_ROLLBACK'
BEGIN
UPDATE DDSInternetBankingDDADetails SET uploadstatus ='N' WHERE Itemindex=@v_Itemindex
END;
END;
GO
DataTable的快照是:
C#代码的快照是:
虽然没有抛出任何错误。请告诉我可能的原因。
答案 0 :(得分:1)
令人难以置信的是,这是VS2008 Data Visualizer中的一个错误。
行和列属性上的 Quickwatch
显示了所有行中的实际值,但使用起来显然更加繁琐。