我有个没与数据库关联的datatable(gridview中输入的数据),里面有个单据号的字段;oralce数据库中有另一个表存放了这些单据号的订单信息.我想将这些信息检索出来体现在gridview 中.
现有的办法,我只能是遍历datatable中的每行,一个个地进入数据库检索;
还可能有办法,就是把这些单号写入到oracle的临时表,再检索,但也好像比较麻烦.不知可不可以将内存中datatable与数据库中的表关联查询,一次性得出一个结果集?
现有的办法,我只能是遍历datatable中的每行,一个个地进入数据库检索;
还可能有办法,就是把这些单号写入到oracle的临时表,再检索,但也好像比较麻烦.不知可不可以将内存中datatable与数据库中的表关联查询,一次性得出一个结果集?
解决方案 »
- 请教如何筛选url
- 关于面向对象
- datalist与checkbox判断问题
- 简单问题,请问dataGridView的使用,急在线等,谢谢!
- 运行后可以改变控件的大小
- 如何遍里历利用readxml方法读到dataset里面的复杂xml文件的所有节点,只能用dom吗?
- 还是向sql语句中传递参数的问题??…………
- win2003服务器+iis6+net4.0+access环境,运行时出错,我把提示发出来,请大家帮忙给看看,谢谢。
- MessageBox.Show 方法需要什么样的名空间
- 使用 DataGrid Web 控件读取和写入数据
- 开启进程问题 高手大虾快来救命 急急急(100分)!!!
- 怎样设置一个窗口的快捷键
否则即使你在oralce建立临时表,速度还是慢
不如另开一个线程,将关联数据写在内存里。不过这样对机器配置要求高,还会造成无用功。
所以select * from table where id in( 1,2,3)这样的方式不行.
select * from table t1 left join (select 单号 from 单号表 where 单号 in (1,2,3,4))t2 ON t1.单号=t2.单号
前提要把我的这些要查的单号录入一个t1表,事实上我还没有录入到数据库中,只是内存中的一个datatable存放.现在我自己已经解决好了,受warrior 启发看了些 linq to dataset的资料.
没有与数据库关联的datatable\dataset,是没有关联查询的功能,好多网页上这么说.只能编程实现关联匹配.
我是先一次性查出数据库中存在的单号的信息,如" select 单号,sum(numbers) as 数量,... from 单号表 where 单号 in (1,2,3,4)";转到一个内存中的datatable;然后 再去与原来存放单号的datatable一个个匹配;因为只用到查询数据库一次,所以速度飞快.原来要一分钟多钟的一次查询现在只要两三秒.谢谢各位!