本帖最后由 Kevin_117 于 2013-03-07 23:59:30 编辑

解决方案 »

  1.   

    光有数据库MDF文件,没有SQL数据库服务器,MDF文件是没有用的。所以打包在winform程序中是不现实的。
    如果能大包,肯定数据不多,那用access肯定也够了。1. 字符串大致如下:
    Data Source=服务器名称;Initial Catalog=数据库名称;Packet Size=4096;Integrated Security=SSPI;Persist Security Info=false;Pooling=false...
    2. 如果你显示最新数据,每次浏览的时候肯定会有数据库连接,不过你怎么知道显示的数据是最新的?这个是悖论。至少需要一个数据结构,至于是Dataset,datatable还是SqlDataReader,看你自己需要。
    3.你可以设置SQL数据库让所有机器共享,安装完Winform程序以后,直接连接到数据库服务器交换数据就好。
      

  2.   

    1.字符串你可以搜索引擎找一个,也可以在vs里面 “数据-显示数据源-新建连接”这样在属性中会生成一个连接串;
    2.连接或无连接,主要看你的架构和用户数量,用户数太多会有瓶颈;
    3.可以。但用户机器要装.net framework才能运行你的form。
      

  3.   

    1.我测试过你说的第一种方法,我的数据库文件是database.mdf,添加之后生产了databaseDataSet数据源,工具栏中多出了一堆组件,如databaseDataSet、TableAdapterManager还有就是mdf中表格和视图名称之后加了Adapter,比如表格DataSaveInfo,产生了DataSaveInfoTableAdapter等等。
    请问直接使用这些组件就行了吗?数据库是不是自动连接的?我要保存串口数据到数据库,比如保存数据到表格DataSaveInfo该怎么做呢?
    2.这是一个单机应用程序,用户只有一个,存储读取显示数据都在本地PC上。利用表中的字段,显示保存时间最近的15条记录,这个可以在DataGridView中直接设置吗,还是建立一个查询函数给出限定条件?
    3.有人告诉我,不安装SQL Server可以,但是要打包SQL组件,配置客户机,这个大神能指点一下吗?
      

  4.   

    这是一个单机应用程序,用户只有一个,存储读取显示数据都在本地PC上。利用表中的字段,显示保存时间最近的15条记录,这个可以在DataGridView中直接设置吗,还是建立一个查询函数给出限定条件?
    有人告诉我,不安装SQL Server可以,但是要打包SQL组件,配置客户机,这个大神能指点一下吗?
      

  5.   

    你说的SQL组件打包安装应该只是客户机上进行数据库文件的安装,要运行这个新安装的数据库,安装机器上应该就必须已经安装SQL server才行。你要显示最新的15条记录,最好就是在SQL语句中解决,用select top 15..., 如果你返回所有数据,然后只显示前15条,那么回多消耗很多带宽资源,和服务器性能。你在3楼中说的关于数据的加减删改,如果只是十分简单的操作,那么可以直接使用Sqldatasource中自动生成的组件和代码,但是稍微复杂一点,你之后的维护就是噩梦。所以如果可能,尽量自己编写后台程序。也就是7,8行的代码,但是可控性大大大大增强。数据库方面的代码建议全写在数据库,作为存储过程保存,安全性,方便性大大增加。