我用C# 做了一个桌面软件,涉及到了数据库(sql2000),不知道如何把数据库搞入安装程序。听说写成做成脚本就行了?
还是不知道怎么用,请大家指点一下。谢谢

解决方案 »

  1.   

    根据所用的安装程序不同可能不一样,我是这样做的:  
      另外做一个c#应用程序,功能就是给安装用户填入数据库连接参数,然后用参数生成sqlconnection连接,调用sqlcommand执行数据库还原或执行sql脚本文档,这样这个程序就完成了数据库的安装。
      你再把这个应用程序和对应的数据库备份(或sql脚本文档)放到你的安装包,在安装的最后执行这个应用程序就行了。
      

  2.   

    我的做法是把数据库文件一起打包进去,安装程序时附加数据库。        private void AttachDatabase()
            {
                SqlConnection conn = null;
                try
                {
                    //如果已经有数据库则删除
                    string sql = "SELECT count(NAME) FROM SYSDATABASES WHERE NAME='" + databaseName + "'";
                    conn = new SqlConnection("Data Source=" + cboTrial.SelectedItem.ToString() +
                        ";Integrated Security=True;Initial Catalog=master");
                    conn.Open();
                    SqlCommand cmd = new SqlCommand(sql, conn);
                    int count = int.Parse(cmd.ExecuteScalar().ToString());
                    if (count > 0)
                    {
                        cmd.CommandText = "drop database " + databaseName;
                        cmd.ExecuteNonQuery();
                    }                //附加新的数据库
                    string path = JYG.Common.PublicMethods.GetCurrentPath() + "data\\";
                    cmd = new SqlCommand();
                    cmd.CommandText = "sp_attach_db '" + databaseName + "','" + path + databaseName + ".mdf','" + path + databaseName + ".ldf'";
                    cmd.Connection = conn;
                    cmd.ExecuteNonQuery();            }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "错误窗体",
                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                finally
                {
                    conn.Close();
                }
            }
      

  3.   

    你直接在VS中创建数据库,在打包时将.mdf文件包含进去就可以了!