C#学习教程:数据库错误:0号位置没有行每次我执行这个方法时,都会弹出同样的错误。位置0处没有行。如果我将[0]更改为[1]或[15];[1]等处没有行。这是否意味着我的数据库连接都不存在?我应该写一些if语句来确定该行是否存在吗?publicboolUpdateOrderToShipped(stringorder){orderNumber=order;stringbatch=ConfigurationManager.AppSettings["SuccessfulOrderBatch"];stringstatement="UPDATESOP10100SETBACHNUMB='"+batch+"'WHERESOPNUMBE=@SOPNUMBE";comSqlCommandnewSqlCommand(statement,connectionPCI);comm.Parameters.Add("SOPNUMBE",orderNumber);尝试{comm.Connection.Open();comm.ExecuteNonQuery();comm.Connection.Close();}catch(Exceptione){comm.Connection.Close();KaplanFTP.errorMsg="数据库错误:"+e.Message;}statement="SELECTSOPTYPEFROMSOP10100WHERESOPNUMBE=@SOPNUMBE";comm.CommandText=声明;SqlDataAdapterda=newSqlDataAdapter(comm);DataTabledt=newDataTable();da.Fill(dt);soptype=dt.Rows[0]["SOPTYPE"].ToString();//这里出错returntrue;这很简单...这意味着您的查询没有返回任何结果。在尝试索引之前,您始终必须进行防御性编码并检查Rows数组中是否有任何项目。类似于:if(dt.Rows.Count>0)soptype=dt.Rows[0]["SOPTYPE"].ToString();别的东西出了错();您可能在表中有数据,但我认为在第一次查询后连接处于关闭状态。尝试再次打开连接。您还在第一个SQL查询中进行了字符串连接,这不是一个好的做法。尝试使用块而不是try..catch,只是为了更好的代码。正如乔尔建议的那样,使用检查(inti=0;i我遇到了同样的问题,然后我意识到我的第一列不是基于整数的。所以当我编辑第一列时,我遇到了同样的错误。所以,我的建议要么不编辑第一列,要么将第一列设为ID列,这样就不用编辑了。以上是C#学习教程:DatabaseError:Position0Thereisnolinetoshare以上就是全部内容,如果对大家有用,需要了解更多C#学习教程,希望大家多多关注---本文收集自网络,不代表立场,如涉及侵权请点击维权联系管理员删除如有转载请注明出处:
