系统有很多类似的需求,不可能一条一条记录读取然后再写到表里呀,那样实在太麻烦了。我原来是用VFP的,操作起来很方便,直接可以生成临时表,但在C#不知道如何转换思路了。大家快帮帮我这只菜鸟呀!谢谢!

解决方案 »

  1.   

    用存储过程实现把搜索到的结果插入临时表,再把这个临时表读入到DataSet中
      

  2.   

    我也正在考虑这方面的问题,可以说现今为此我没有找到一个好的方法。
    一种是在数据库中建立一临时表,把你查询的数据放在其中,然后对它进行查询(不过,你不能修改数据库),呵呵;另外一种是利用table.defaultview或者row.filter,都得通过dataset进行操作,我认为代价太大,我自己都不想那么做,而且对sql语句支持不够好!
    我只是个菜鸟,希望我的胡言能够引起高手们关注,提出他们好idea!
    我也在期待中
      

  3.   

    举个例子说明(没测试,自己试一下应该可以):比如要在第一次查到的表中查gysname='广西2厂'的纪录
    select gys.gysname,spb.spname,spb.gysbh from gys,spb where gys.gysname =(select gys.gysname from gys,spb where gys.gysname=spb.spname)  
      

  4.   

    你用的是子查询,效率呢?功能上是可以满足了,个人认为不好。
    无奈ing................
      

  5.   

    如果能在dataset中使用sql语句把里边的两个表组合成一个新表就好了,明明说dataset是一个本地的数据库,但确不能建立多表视图,真是郁闷!!
    在MSDN中说:可以采用dataset作为数据源是可以的,只要使用分页........
    但我找不到例子,也不知道是什么意思了。
    难不成所有的数据都可以通过一次sql语句就可以得到想要的结果吗?那样的话,数据库的设计也太复杂了,我喜欢把所有的资料,如商品,客户,厂商,银行等统统放到一个表,然后加入ID列区别,进货,销售等也是通过ID区别,由于数据库比较小,我觉得没必要分得太细。
    从数据库中得到结果,再对结果进行4-5次select也很正常呀。
    是不是C#不能用这种方式编程?
      

  6.   

    你的想法有问题,把所有的资料放进一个表中,逻辑关系很乱。
    dataset之指放在服务器内存中的虚拟数据库,我是这么理解的,可以在里面建立新表,把查询的数据放在其中,但它对sql语句支持不够好,只能满足简单的要求,要做到象搜索引擎那样,在结果中进行select,是不现实的。