C# 错误-位置0 C处没有行#
调试项目时,出现以下错误: 位置0处没有行 返回的代码错误(字节[]) 我检查了数据库,没有发现任何问题。可能会发生什么 =====C# 错误-位置0 C处没有行#,c#,sql-server,database,C#,Sql Server,Database,调试项目时,出现以下错误: 位置0处没有行 返回的代码错误(字节[]) 我检查了数据库,没有发现任何问题。可能会发生什么 ===== ExecuteDataSet似乎返回一个数据集,其中包含一个空表。因此,您必须检查存储过程没有返回任何行是否正确 如果可能,请检查行。计数: var ds = db.ExecuteDataSet(dbCommandWrapper); if(ds.Tables[0].Rows.Count == 0) return null; else retur
ExecuteDataSet
似乎返回一个数据集,其中包含一个空表。因此,您必须检查存储过程没有返回任何行是否正确
如果可能,请检查行。计数:
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。您确定数据库中有数据吗?不仅如此,这个错误消息是不言自明的。您的表[0]没有行。如果您不知道原因,请对其进行调试。检查db.ExecuteDataSet(dbCommandWrapper)。表[0]
是否返回某些内容-将其添加为要在中查看,否则-您没有该表。发生的情况是您没有返回任何行。您是否在db端测试了您的查询?它是否返回任何行?最好也检查ds.Tables.Count
。@huMptyduMpty:如果数据集
中没有表是必须修复的ExecuteDataSet
中的严重错误。因此,在这种情况下返回null
是错误的。从未使用过此选项,只需检查:)执行的数据集是否过时,Microsoft是否希望我们使用DataReader或DataAdapter?@meansomerandoms:看起来,它说
private void Page_Load (object sender, System.EventArgs e)
{
String codigoArquivo = Request.QueryString ["CodArquivo"];
Response.BinaryWrite (BO.Arquivo.BaixarArquivo (int.Parse (codigoArquivo)));
}
var ds = db.ExecuteDataSet(dbCommandWrapper);
if(ds.Tables[0].Rows.Count == 0)
return null;
else
return (byte[]) ds.Tables[0].Rows[0]["ARQUIVO"];