C# datatable select问题

30,31都是datatableOdbcDataAdaptersend30=newOdbcDataAdapter(sql,con);DataTabledt30=newDa... 30,31都是datatable
OdbcDataAdapter send30 = new OdbcDataAdapter(sql, con);
DataTable dt30 = new DataTable();
send30.Fill(dt30);

DataTable dt31 = new DataTable();
string a;
a =dt30.Rows[0][1].ToString();
dt31 = dt30.Select("发票号= '"+a+"'");

this.dataGridView5.DataSource = dt31.DefaultView;

提示:错误 16
无法将类型“System.Data.DataRow[]”隐式转换为“System.Data.DataTable” E:\ERP\imformation\imformation\sd01.cs 1099 20 information
展开
 我来答
chufuya
2008-08-26 · TA获得超过253个赞
知道答主
回答量:335
采纳率:0%
帮助的人:0
展开全部
楼上的大哥 用的着那么麻烦吗?

既然返回的是row类型的那就加到表里好了:
把dt31 = dt30.Select("发票号= '"+a+"'"); 改成

dt31.Rows.Add( dt30.Select("发票号= '"+a+"'"));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jins_pet
推荐于2016-06-02 · TA获得超过147个赞
知道答主
回答量:30
采纳率:0%
帮助的人:0
展开全部
DataTable的Select()方法返回的是一个DataRow的数组,
在你的代码中 dt31 = dt30.Select("发票号= '"+a+"'");显然dt31是Datatable类型,赋值号后面是DataRow数组。
分析楼主的意思,可能是想要dt30中的发票号为 a的数据,组成一个新的Datatable作为Gridview的数据源吧?
要是的话可以用下面的代码:
string a;
a =dt30.Rows[0][1].ToString();
DataView dataView = dt30.DefaultView;//定义一个DataView为dt30的默认视图
dataView.RowFilter = "发票号 = '"+a+"'"; //对dataView进行筛选

this.dataGridView5.DataSource = dataView;//筛选后的dataView做数据源

chufuya:返回的是数组,数组的元素是DataRow。你的这句代码“dt31.Rows.Add( dt30.Select("发票号= '"+a+"'"));”应该是不会通过编译的吧?参数不对。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
122301510
2008-08-26 · 超过15用户采纳过TA的回答
知道答主
回答量:147
采纳率:0%
帮助的人:41.9万
展开全部
dt31 = dt30.Select("发票号= '"+a+"'");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式