学习C#有段时间了,发现使用ADO.NET开发单机版的数据库软件好象不是很方便,
主要问题是:需要执行大量的SQL语句来加工运算数据,而这在数据集中是不能直
接实现的(用SQL语句。所以请问大家有什么好的方法?如果用ACCESS数据库,是否能把大量的SQL语句保存在ACCESS数据库中的“查询”中,
以类似实现C/S中的“存储过程”?如果用Visual FoxPro的数据库,大量的SQL语句保存在哪里好?请各位指点!谢谢啦!

解决方案 »

  1.   

    ACCESS数据库好像不支持存储过程
    除了ADO.Net数据集, 还有很类可以实现数据库操作. 如 SqlCommand, SqlConnection....
    这些都用来实现SQL查询.
      

  2.   

    无论如何,SQL语句是少不了的,它不能像VF那样,命令语句直接就是由数据操纵语句。要实现类似存储过程的话,恐怕只能把过程写在表中,用时读取,并发送执行。
      

  3.   

    可以把常用的功能包装一下,就方便了,记得微软有免费的DataAccessApplicationBlock提供下载,你能花点时间把操作的功能整理一下,包装成函数,就方便了
      

  4.   

    to:wxdl1981(沉默之狼) 
    Command对象和Connection对象是实现SQL命令的方法,但若要大批量使用
    SQL语句,一句一句的来指定,一句一句的来执行是不现实的,而且还有对产
    生的结果再执行SQL语句,这样全部要实时读写入数据库,而不放在内存中是
    非常低效的。比如A表和B表做连接,结果C表再和A表和D表做投影运算,怎么做呢?
    主要是在ADO.NET的数据集中不能直接执行SQL语句。
      

  5.   

    Ado.net中不能直接执行SQL语句,但是确有它自己的一套方法,建议你好好研究一下,你提出的上面的问题是肯定可以实现的,你如果不用存储过程,那么就要求你自己的机器足够强大,可以将ADO.NET中的DataSet看作为一个中间数据库来进行实现
      

  6.   

    to: 3000sunqin(3000sunqin)现在我可以用ADO.NET模型中的数据集来实现一些和SQL指令相同的操作。
    如索引,查找,替换,连接。我是想有没有更好的方法,不然用C#开发
    单机版的数据库软件可真的要累死,倒还不如用VFP了。把数据集当作中间数据库是唯一的办法,但是DataSet中表数据的最大容量
    我记得好象是16M左右,这是很小的。我处理的数据有30-100M大小,如果
    不优化,速度慢的惊人。
      

  7.   

    如果做单机程序  , 还是用DELPHI开发吧
      

  8.   

    对呀,c#做数据库软件没什么不好,且众多的现成的组建可以用,除了自带的,什么ComponentOne Studio 、Infragistics NetAdvantage等等都可以用,ttdown.com的编程控件里面有很多,还有很多开源的
      

  9.   

    不能用存储过程的话,你可以改一下SqlCommand的CommandType属性,这是个枚举类型,用把SQL语句写成string类型
      

  10.   

    已经实现调用ACCESS中存储过程的方法,现在的问题是:
    对返回的多个结果表,如何再进行二次的SQL运算?