rt,在c#里如何用代码附加sql2005数据库? 请给我一个实例。  网上的我找了(什么方法1,2,3的),但是没研究出来。希望高手能给个实例谢谢了。

解决方案 »

  1.   

            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();
                }
            }
      

  2.   

    Server=.\SQLExpress;AttachDbFilename=c:\mydbfile.mdf;Database=dbname; Trusted_Connection=Yes;
      

  3.   

    在连接字符串中增加AttachDbFilename上面的Server=.\SQLExpress要修改成你的sqlserver服务器名称!