C# 在c中找不到ExecuteDataSet的表0#
我对这件事破例了C# 在c中找不到ExecuteDataSet的表0#,c#,C#,我对这件事破例了 DataTable ProbRead = SQLData.ExecuteDataSet("SELECT description FROM chk_maintenance_probremark where subheaderid = " + lblrefno.Text.ToString() + " and Type='Problem'").Tables[0]; System.IndexOutOfRangeException:找不到表0 您的sql查询似乎没有结果 试试这个 va
DataTable ProbRead = SQLData.ExecuteDataSet("SELECT description FROM chk_maintenance_probremark where subheaderid = " + lblrefno.Text.ToString() + " and Type='Problem'").Tables[0];
System.IndexOutOfRangeException:找不到表0
您的sql查询似乎没有结果 试试这个
var probRead = SQLData.ExecuteDataSet("SELECT description FROM chk_maintenance_probremark where subheaderid = " + lblrefno.Text.ToString() + " and Type='Problem'");
if(probRead.Tables.Count > 0)
{
var myTable = probRead.Tables[0];
// do some stuff
}
使查询可读:
您将清楚地看到这个问题:lblrefno.Text.ToString()
应该用“
包装
如果返回了任何数据,请不要忘记测试:
var probRead = SQLData.ExecuteDataSet(sql);
if (probRead.Tables.Count > 0) {
// It's safe now to call probRead.Tables[0]
...
}
容易的。您没有表[0]。可能需要在
“+lblrefno.Text.ToString()+”
前后添加”
,具体取决于子标题ID的类型。这是不使用参数化方法的问题之一queries@Pikoh我知道了。。谢谢你的帮助。
var probRead = SQLData.ExecuteDataSet(sql);
if (probRead.Tables.Count > 0) {
// It's safe now to call probRead.Tables[0]
...
}