locked
FAQs: 怎样通过ClickOnce 发布或者部署一个带数据库文件的Winform 应用程序? RRS feed

  • 问题

  • 为了帮助大家更好地学习 Visual Basic技术,微软论坛技术支持团队编辑了一些列的 "Visual Basic 常见问题及解答" 精华帖。

    本帖的主题是:怎样通过ClickOnce 发布或者部署一个带数据库文件的Winform 应用程序?

    如果您觉得这个帖子对您的学习、工作有所帮助,请再把这个帖子分享给你的同学、同事和朋友。

    如果您想阅读更多的 "Visual Basic 常见问题及解答",请打开索引页面:
    http://social.msdn.microsoft.com/Forums/zh-CN/vbasiczhchs/thread/c9ab4b8e-99dc-49a2-bcea-30f3ecc3c3b7


    如果您对我们的论坛在线支持服务有任何的意见或建议,请通过邮件告诉我们。
    MSDN 论坛好帮手 立刻免费下载  MSDN 论坛好帮手
    2011年3月3日 1:56

答案

  • 以下是一种解决方案:

       1) 创建一个新的Winform 应用程序。

       2) 在项目中添加数据源(如SqlDatabase.mdf 的数据库文件)

       3) 拖一个DataGridView 控件,定义数据库连接字符串时使用“|DataDirectory|”方法(代替数据库的物理路径),如以下代码:

         Imports System.Data.SqlClient

         Public Class Form1

     

         Private Sub Form1_Load(ByVal sender As System.Object, _

                          ByVal e As System.EventArgs) Handles MyBase.Load

            Dim con As SqlConnection = New SqlConnection( _

               "Data Source=.;Integrated Security=True;AttachDbFilename=|DataDirectory|\SqlDatabase.mdf")

            Dim cmd As SqlCommand = _

               New SqlCommand("SELECT * FROM Table1", con)

            con.Open()

            Dim myDA As SqlDataAdapter = New SqlDataAdapter(cmd)

            Dim myDataSet As DataSet = New DataSet()

            myDA.Fill(myDataSet, "MyTable")

            DataGridView1.DataSource = myDataSet.Tables("MyTable").DefaultView

            con.Close()

            con = Nothing

        End Sub

    End Class

        4)在解决方案窗口,选中SqlDatabase.mdf文件,查看它的属性。确定它的“Build Action”属性的值为“Content”,并且“Copy to Output Directory”属性的值为“Copy if newer”。

       5)在解决方案窗口,右键项目名称,选择项目属性->Publish页面->点击“Application Files”按钮,在列表中选中SqlDatabase.mdf,确定它的“Publish Status”是“Data File(Auto)”和“Download Group”是“(Required)”。

       6)项目属性->Publish页面->单击“Publish”按钮,发布您的应用程序。 

    在应用程序安装部署的时候,数据库文件会被部署 “Data”文件夹中,同时还会生成一个exe.config文件。


    如果您对我们的论坛在线支持服务有任何的意见或建议,请通过邮件告诉我们。
    MSDN 论坛好帮手 立刻免费下载  MSDN 论坛好帮手
    2011年3月3日 2:01