gpt4 book ai didi

c# - 数据库错误 : There is no row at position 0

转载 作者:可可西里 更新时间:2023-11-01 08:55:23 24 4
gpt4 key购买 nike

我相信几个月前有人问过这个问题,但我相信我的情况不同,同样的规则可能不适用。

每次我执行这个方法都会弹出同样的错误。位置 0 处没有行。如果我将 [0] 更改为 [1] 或 [15]; [1] 等处没有行。这是否意味着我的数据库甚至没有连接?我是否应该编写某种 if 语句来确定检查行是否存在?

    public bool UpdateOrderToShipped(string order)
{
orderNumber = order;
string batch = ConfigurationManager.AppSettings["SuccessfulOrderBatch"];
string statement = "UPDATE SOP10100 SET BACHNUMB = '"+ batch +"' WHERE SOPNUMBE = @SOPNUMBE";
SqlCommand comm = new SqlCommand(statement, connectionPCI);
comm.Parameters.Add("SOPNUMBE", orderNumber);
try
{
comm.Connection.Open();
comm.ExecuteNonQuery();
comm.Connection.Close();
}
catch(Exception e)
{
comm.Connection.Close();
KaplanFTP.errorMsg = "Database error: " + e.Message;
}

statement = "SELECT SOPTYPE FROM SOP10100 WHERE SOPNUMBE = @SOPNUMBE";
comm.CommandText = statement;
SqlDataAdapter da = new SqlDataAdapter(comm);
DataTable dt = new DataTable();
da.Fill(dt);
soptype = dt.Rows[0]["SOPTYPE"].ToString(); //errror here

return true;
}

最佳答案

这很简单……这意味着您的查询没有返回任何结果。您始终必须进行防御性编码,并在尝试对其进行索引之前检查 Rows 数组中是否包含任何项目。像这样的东西:

if (dt.Rows.Count > 0)
soptype = dt.Rows[0]["SOPTYPE"].ToString();
else
somethingWentWrong();

关于c# - 数据库错误 : There is no row at position 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7795066/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com