开发时是用数据库读取数据的,怎么让用户不安装数据库就可以运行程序?

时间:2022-08-18 23:48:02
数据库没装的话 就一个数据库文件 貌似连接数据库也没办法

我想转成XML作为数据放到DataSet不知道可不可行。。
试了下好像多表SELECT很不方便(只用到查询 无插入更新等)
还有个问题如果xml转成 dataset,那dataset里是数据结构是如何的,是数据库的B+数之类的吗?(因为有效率的考虑)

12 个解决方案

#1


如果使用的数据库是sql server的且你没有使用存储过程和自定义函数的话,你可以使用企业管理器导出为access数据库文件。

#2


2楼所说的access数据库就可以不用安装数据库,但是前提得是用户安装你的软件时,需要安装office软件,正常情况下一般人都会装。
如果楼主实在是要用xml的话,也可以。涉及到多个表之间的查询时,可以使用xmldocument对象来操作xml数据,然后根据需要,把这多个表的数据放到datatable中(即多表数据集合在一个datatable中),这就有点类似建了一个比较全的sqlserver视图。然后再根据需要用datatable的dt.Select(表达式)方法,来实现筛选。很方便,当然效率也是很高的。

#3


那你直接使用access就是了。

#4


引用楼主 leonardwang 的回复:
数据库没装的话 就一个数据库文件 貌似连接数据库也没办法

我想转成XML作为数据放到DataSet不知道可不可行。。
试了下好像多表SELECT很不方便(只用到查询 无插入更新等)
还有个问题如果xml转成 dataset,那dataset里是数据结构是如何的,是数据库的B+数之类的吗?(因为有效率的考虑)


“数据库”不是只有c/s概念的,还有很多种,例如在桌面应用和手机中你就应该使用嵌入式的,例如Sql Server Compact Edition、Sqlite、db4o、Oracle Berkeley DB、firebird等等。

#5


引用 2 楼 llddyy123wq 的回复:
2楼所说的access数据库就可以不用安装数据库,但是前提得是用户安装你的软件时,需要安装office软件,正常情况下一般人都会装。
如果楼主实在是要用xml的话,也可以。涉及到多个表之间的查询时,可以使用xmldocument对象来操作xml数据,然后根据需要,把这多个表的数据放到datatable中(即多表数据集合在一个datatable中),这就有点类似建了一个比较全的sqlserver……

access需要安装office才行吗?   这个我才知道。

#6


引用 2 楼 llddyy123wq 的回复:
2楼所说的access数据库就可以不用安装数据库,但是前提得是用户安装你的软件时,需要安装office软件,正常情况下一般人都会装。
如果楼主实在是要用xml的话,也可以。涉及到多个表之间的查询时,可以使用xmldocument对象来操作xml数据,然后根据需要,把这多个表的数据放到datatable中(即多表数据集合在一个datatable中),这就有点类似建了一个比较全的sqlserver视……

顶一个!

#7


access不需要office,只要有数据驱动就可以,一般操作系统都自带的.

#8


数据库可使用access ,sqllite
XML可以作为数据源ds.WriteXML

#9


到处Access数据文件之后呢?  数据连接用不用改变?  一直用的sqlserver   ....

#10


C# 的话,可以考虑Access,不需要安装驱动,安装操作系统的时候就安装了,除非有人做了系统的精简,把这个驱动删除了。如果不放心,可以在你的程序里自带一个Access的驱动安装包。
如果是C#2008开发,使用Dotnet3.0以上框架的话,可以考虑SqlCE,也是一个不错的选择。
sqlce的话,可以参考这个。
参考

#11


谢谢大家 
我也刚开始数据库这方面的编程 所以不大懂。。
现在用的是sql server express 如果要和access兼容的话 用哪种连接方式比较好

还有些不理解的地方,相同的数据用不同的数据库比如sql server、access、xml移到dataset里的结构一样吗?DataSet里具体怎么装数据的

#12


引用 11 楼 leonardwang 的回复:
谢谢大家 
我也刚开始数据库这方面的编程 所以不大懂。。
现在用的是sql server express 如果要和access兼容的话 用哪种连接方式比较好

还有些不理解的地方,相同的数据用不同的数据库比如sql server、access、xml移到dataset里的结构一样吗?DataSet里具体怎么装数据的

移到dataset中都是一样的。因为dataset本身只是一个用于存储临时数据
的数据集而已。如果是cs程序,建议你用access就可以。用xml做数据源就显得有些麻烦。除非你有现在的封装好的方法来操作,抑或是你自己现写一个,麻烦了就。呵呵。

#1


如果使用的数据库是sql server的且你没有使用存储过程和自定义函数的话,你可以使用企业管理器导出为access数据库文件。

#2


2楼所说的access数据库就可以不用安装数据库,但是前提得是用户安装你的软件时,需要安装office软件,正常情况下一般人都会装。
如果楼主实在是要用xml的话,也可以。涉及到多个表之间的查询时,可以使用xmldocument对象来操作xml数据,然后根据需要,把这多个表的数据放到datatable中(即多表数据集合在一个datatable中),这就有点类似建了一个比较全的sqlserver视图。然后再根据需要用datatable的dt.Select(表达式)方法,来实现筛选。很方便,当然效率也是很高的。

#3


那你直接使用access就是了。

#4


引用楼主 leonardwang 的回复:
数据库没装的话 就一个数据库文件 貌似连接数据库也没办法

我想转成XML作为数据放到DataSet不知道可不可行。。
试了下好像多表SELECT很不方便(只用到查询 无插入更新等)
还有个问题如果xml转成 dataset,那dataset里是数据结构是如何的,是数据库的B+数之类的吗?(因为有效率的考虑)


“数据库”不是只有c/s概念的,还有很多种,例如在桌面应用和手机中你就应该使用嵌入式的,例如Sql Server Compact Edition、Sqlite、db4o、Oracle Berkeley DB、firebird等等。

#5


引用 2 楼 llddyy123wq 的回复:
2楼所说的access数据库就可以不用安装数据库,但是前提得是用户安装你的软件时,需要安装office软件,正常情况下一般人都会装。
如果楼主实在是要用xml的话,也可以。涉及到多个表之间的查询时,可以使用xmldocument对象来操作xml数据,然后根据需要,把这多个表的数据放到datatable中(即多表数据集合在一个datatable中),这就有点类似建了一个比较全的sqlserver……

access需要安装office才行吗?   这个我才知道。

#6


引用 2 楼 llddyy123wq 的回复:
2楼所说的access数据库就可以不用安装数据库,但是前提得是用户安装你的软件时,需要安装office软件,正常情况下一般人都会装。
如果楼主实在是要用xml的话,也可以。涉及到多个表之间的查询时,可以使用xmldocument对象来操作xml数据,然后根据需要,把这多个表的数据放到datatable中(即多表数据集合在一个datatable中),这就有点类似建了一个比较全的sqlserver视……

顶一个!

#7


access不需要office,只要有数据驱动就可以,一般操作系统都自带的.

#8


数据库可使用access ,sqllite
XML可以作为数据源ds.WriteXML

#9


到处Access数据文件之后呢?  数据连接用不用改变?  一直用的sqlserver   ....

#10


C# 的话,可以考虑Access,不需要安装驱动,安装操作系统的时候就安装了,除非有人做了系统的精简,把这个驱动删除了。如果不放心,可以在你的程序里自带一个Access的驱动安装包。
如果是C#2008开发,使用Dotnet3.0以上框架的话,可以考虑SqlCE,也是一个不错的选择。
sqlce的话,可以参考这个。
参考

#11


谢谢大家 
我也刚开始数据库这方面的编程 所以不大懂。。
现在用的是sql server express 如果要和access兼容的话 用哪种连接方式比较好

还有些不理解的地方,相同的数据用不同的数据库比如sql server、access、xml移到dataset里的结构一样吗?DataSet里具体怎么装数据的

#12


引用 11 楼 leonardwang 的回复:
谢谢大家 
我也刚开始数据库这方面的编程 所以不大懂。。
现在用的是sql server express 如果要和access兼容的话 用哪种连接方式比较好

还有些不理解的地方,相同的数据用不同的数据库比如sql server、access、xml移到dataset里的结构一样吗?DataSet里具体怎么装数据的

移到dataset中都是一样的。因为dataset本身只是一个用于存储临时数据
的数据集而已。如果是cs程序,建议你用access就可以。用xml做数据源就显得有些麻烦。除非你有现在的封装好的方法来操作,抑或是你自己现写一个,麻烦了就。呵呵。