错误 - 位置0 C处没有行#

时间:2015-04-29 14:17:29

标签: c# sql-server database

当我调试我的项目时,我收到此错误:

位置0没有行

enter image description here

返回代码错误(byte [])...

public static Byte[] BaixarArquivo(long codArquivo)
        {
            Database db = DatabaseFactory.CreateDatabase();
            DBCommandWrapper dbCommandWrapper = db.GetStoredProcCommandWrapper("GERREL_ARQUIVO_BAIXAR");
            dbCommandWrapper.AddInParameter("@CODARQUIVO" , DbType.Int32 , codArquivo);

            >>>> return (byte[]) db.ExecuteDataSet(dbCommandWrapper).Tables[0].Rows[0]["ARQUIVO"];
        }

我检查了数据库,发现没有问题。可能会发生什么?

=====

private void Page_Load (object sender, System.EventArgs e)
{
String codigoArquivo = Request.QueryString ["CodArquivo"];
Response.BinaryWrite (BO.Arquivo.BaixarArquivo (int.Parse (codigoArquivo)));

}

enter image description here

1 个答案:

答案 0 :(得分:1)

ExecuteDataSet似乎返回DataSet,其中包含一个空的表。所以你必须检查从存储过程中没有返回任何行是否正确。

如果可以,请检查Rows.Count

var ds = db.ExecuteDataSet(dbCommandWrapper);
if(ds.Tables[0].Rows.Count == 0)
     return null;
else
    return (byte[]) ds.Tables[0].Rows[0]["ARQUIVO"];

否则你必须修复SP中的sql。