dataset.tables[0].row[].itemarray[0] 错误,帮忙解决!!
string pno= this.dgvPrj.CurrentRow.Cells[0].Value.ToString();
DataSet myds = datacon.getds("select PrjNo,Description, Respon,"
+ "Dept, StartDate,EndDate, Stations,"
+ "EES1, EES21, EES22,EES34,EES5,"
+ "PrjMgmt, Total from ProjectOverview where PrjNo='"+pno+"'" , "ProjectOverview");
prjNoTextBox.Text = Convert.ToString(myds.Tables["ProjectOverview"].Rows[0].ItemArray[0]);//这一行出现了there is no row at position 0,
不知道是什么原因,请大家指点一下,数据集里是有表的
[解决办法]
数据集里是有表的
--
但是表是空的
[解决办法]
myds.Tables["ProjectOverview"].Rows[0][0]
[解决办法]
- C# code
string pno= this.dgvPrj.CurrentRow.Cells[0].Value.ToString(); messagebox.show(pno);//测试一下是否条件为空,导致查询的数据为空DataSet myds = datacon.getds("select PrjNo,Description, Respon,"+ "Dept, StartDate,EndDate, Stations,"+ "EES1, EES21, EES22,EES34,EES5," + "PrjMgmt, Total from ProjectOverview where PrjNo='"+pno+"'" , "ProjectOverview"); prjNoTextBox.Text = myds.Tables["ProjectOverview"].Rows[0].ItemArray[0].toString();
[解决办法]
先判断myds.Tables["ProjectOverview"].Rows.Count是不是为0;
[解决办法]
prjNoTextBox.Text = Convert.ToString(myds.Tables["ProjectOverview"].Rows[0].ItemArray[0]);
这一局错误了
ItemArray是一个属性,返回的是一个数组,应该赋值给一个数组,而且他也没有提供下标的访问
所以你的使用是错误的,下列方法可以帮助你
ds.Tables[0].Rows[0]["姓名"];返回第一行的列名是“姓名”的字段值
ds.Tables[0].Rows[0][0]返回第一行第一列的值
[解决办法]
DataSet myds = datacon.getds("select ......
红色标记的是你自己写的填充方法吗?
- C# code
string pno= this.dgvPrj.CurrentRow.Cells[0].Value.ToString(); messagebox.show(pno);DataTable mydt = new DataTable();SqlDataApdater da=new SqlDataApdater("select PrjNo,Description, Respon,"+ "Dept, StartDate,EndDate, Stations,"+ "EES1, EES21, EES22,EES34,EES5," + "PrjMgmt, Total from ProjectOverview where PrjNo='"+pno+"'" ,conn);da.fill(mydt);if(dt.rows.count>0){ prjNoTextBox.Text = mydt.Rows[0].ItemArray[0].toString(); }
[解决办法]
int i=myds.Tables["ProjectOverview"].Rows.count;
看是否有数据条数
[解决办法]
看看你的数据库是不是没有数据啊,我想一定是没有数据,要不不可能出现这个问题的,去看看人的数据库吧。
[解决办法]
[解决办法]
有查到
[解决办法]
- C# code
string pno= this.dgvPrj.CurrentRow.Cells[0].Value.ToString(); //messagebox.show(pno);DataTable mydt = new DataTable();SqlDataApdater da=new SqlDataApdater("select PrjNo,Description, Respon,"+ "Dept, StartDate,EndDate, Stations,"+ "EES1, EES21, EES22,EES34,EES5," + "PrjMgmt, Total from ProjectOverview where PrjNo='"+pno+"'" ,conn);da.fill(mydt);if(dt.rows.count>0){ prjNoTextBox.Text = mydt.Rows[0].ItemArray[0].toString(); } //那你用这个试试,是否为空,如果mydt不为空,则是你返回的table为空
[解决办法]
冒得头绪了!
[解决办法]
直接在查询分析器里看看你这个sql语句能不能查出数据来