问题描述
DDLBuild.Items.Clear();DDLBuild.Items.Add("未选择");Buildbuild=newBuild();DataTabledt=build.GetBuild();//此处提示错误for(inti=0;i<dt.Rows.Count;i++){DDLBuild.Items.Add(newListItem(dt.Rows[i][0].ToString(),dt.Rows[i][1].ToString()));}DDLBuild.SelectedIndex=0;
调用Build类中的方法为什么提示错误1无法将类型“System.Data.DataRow”隐式转换为“System.Data.DataTable”所调用方法:publicDataTableGetBuild(){stringsql="selectBuildId,BuildnamefromBuildInfo";DataBasedb=newDataBase();DataTabledt=db.GetDataTable(sql);returndt;}
解决方案
解决方案二:
应该是GetDataTable方法里发生错误
解决方案三:
都是DataTable类型啊。是不是DataTabledt=db.GetDataTable(sql);里面出的问题。设置个断点,单步跟踪一下
解决方案四:
楼上的都太有才了啊。都起那么早啊。
解决方案五:
下面是DataBase中的GetDataTable方法publicDataSetGetDataSet(stringsql){DataSetds=newDataSet();Connection.Open();SqlDataAdapterda=newSqlDataAdapter(sql,Connection);da.Fill(ds);Connection.Close();returnds;}///<summary>///获取DataTable对象///</summary>///<paramname="sql">查询字符串</param>///<returns>DataTable对象</returns>publicDataTableGetDataTable(stringsql){DataSetds=GetDataSet(sql);DataTabledt=newDataTable();if(ds!=null){dt=ds.Tables[0];}returndt;}
解决方案六:
Build和DataBase这两个东西有问题,不是用错了就是自己写的不对