寻求一个解决方案,请大家给点思路! 你可以先把DataView的数据加入到一个DataTable里,然后通过SqlDataBuilder提交到数据库。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我是想把该DataView中的数据和数据库中的表直接关联查询,直接使用是不能实现的,我想知道DataView经过怎样的处理可以和数据库中的物理表进行关联查询?楼上的,不知道你的方法可行么?能不能给我举个例子? 没道理。如果你的数据是来自一个数据库,那把你生成该dataview的sql联接上现在要查询的sql去查询完了.如果不是一个数据库,用你dataview与查询相关的数据生成一个sql条件就可以了. 首先,该DataView是别人给我的接口,我只能调用,不能修改,也不能改变它的返回类型;其次,该DataView是一个复杂的存储过程返回的,不是简单的SQL查询能够替代的。 ‘如果不是一个数据库,用你dataview与查询相关的数据生成一个sql条件就可以了’,我不太明白您的意思。我现在是用了一个笨方法凑合的,即把DataView中的数据遍历一遍,形成用‘,’分割的字符串,然后加入SQL的IN子句中,但是这种方法不适合大数据量的情况,而且很没有效率,现在不能忍受了,所以我想尝试改变!请大家多提宝贵意见! yaopeng117(充电) 说的应该可以。 我觉得用dataset应该可以的,又相对比较简单 请yaopeng117(充电)给我举个例子详细说说思路可以么?例如数据库表A和DataView左连接,得到表A的记录,连接条件是A.cHumanID = (DataView中的cHumanID),请问如何作?一直听说DataSet是个小数据库,我如果把我的SQL语句中的其他表都导入DataSet,DataView也导入该DataSet,是不是有方法可以进行关联查询? 看看ado.net方面的内容,会很有帮助的. 假定之前有一个DataTable为DT,里面就是你的DataView填充的数据。SqlDataAdapter da=new SqlDataAdapter("select * from yourTbl",conn);//yourTbl为数据库中空表SqlCommandBuilder scb=new SqlCommandBuilder(da);DataSet ds=new DataSet();da.Fill(ds,"yourTbl"); DataTable DTBL=ds.Tables["yourTbl"];DataRow[] TblDR=DT.Select();//通过数据行数组查找DT中的所有行for(int i=0;i<TblDR.Length;i++){ DataRow yourTbl=DTBL.NewRow(); DetailRow[1]=(int)TblDR[i]["ID"]; DetailRow[2]=(string)TblDR[i]["name"]; DTBL.Rows.Add(yourTbl);}//向数据库中添加行,注意类型要要转换成跟数据库中一致da.Update(ds,"yourTbl");//更新数据库DT.Clear();//清空原来的DT,也就是你DataView的数据然后你就可以通过数据库来操作表的连接了。 form之间传递对象的问题 string 和 Hex之间的转换 c#如何将两个string类型的字符串连到一块儿 请问这两句代码什么意思,谢谢! 求一个简单的C#程序代码 颜色转换的简单问题 怎样创建一个安装程序? 高深问题 实现正则表达式奇偶数字符串匹配 怎么样才能获得消息ID代表哪种消息----在线等待 学习c#那本书好呀!!! 在DataGrid中如何得到固定列,指定行的值
如果你的数据是来自一个数据库,那把你生成该dataview的sql联接上现在要查询的sql去查询完了.
如果不是一个数据库,用你dataview与查询相关的数据生成一个sql条件就可以了.
其次,该DataView是一个复杂的存储过程返回的,不是简单的SQL查询能够替代的。
//yourTbl为数据库中空表SqlCommandBuilder scb=new SqlCommandBuilder(da);
DataSet ds=new DataSet();
da.Fill(ds,"yourTbl");
DataTable DTBL=ds.Tables["yourTbl"];DataRow[] TblDR=DT.Select();
//通过数据行数组查找DT中的所有行for(int i=0;i<TblDR.Length;i++)
{
DataRow yourTbl=DTBL.NewRow();
DetailRow[1]=(int)TblDR[i]["ID"];
DetailRow[2]=(string)TblDR[i]["name"];
DTBL.Rows.Add(yourTbl);
}
//向数据库中添加行,注意类型要要转换成跟数据库中一致da.Update(ds,"yourTbl");//更新数据库
DT.Clear();//清空原来的DT,也就是你DataView的数据然后你就可以通过数据库来操作表的连接了。