2017-07-29 80 views
0

我有一個包含數據和表格,我需要當我附上文件並加載到我的項目,並添加或更新數據,以便在SQL Server .MDF數據庫文件在已安裝SQL Server的第二臺PC上運行我的程序,發現數據庫未找到錯誤!使用SQL Server的MDF文件很容易在任何Windows無需任何身份驗證

注1:數據庫是在SQL Server 2012本地主機服務器和Windows身份驗證模式下創建的。

我使用這個代碼加載和使用數據庫:

SqlConnection c = new SqlConnection(@"Data Source=.;Initial Catalog=db1;Integrated Security=True"); 

private void Form1_Load(object sender, EventArgs e) 
{ 
    String str; 
    SqlConnection myConn = new SqlConnection(@"Data Source=.;Initial Catalog=db1;Integrated Security=True"); 

    str = "CREATE DATABASE db1"; 
    SqlCommand myCommand = new SqlCommand(str, myConn); 

    try 
    { 
     myConn.Open(); 
     myCommand.ExecuteNonQuery(); 
     MessageBox.Show("First db is Created", "MyProgram", MessageBoxButtons.OK, MessageBoxIcon.Information); 
    } 
    catch (System.Exception ex) 
    { 
     // MessageBox.Show("DB is exist"); 
    } 
    finally 
    { 
     if (myConn.State == ConnectionState.Open) 
     { 
      myConn.Close(); 
     } 
    } 

    using (SqlConnection con = new SqlConnection(@"Data Source=.;Initial Catalog=db1;Integrated Security=True")) 
    { 
     try 
     { 
      //Open.the SqlConnection; 
      con.Open(); 

      //The following code uses a SqlCommand based on the SqlConnection 
      using (SqlCommand command = new SqlCommand("CREATE TABLE contents(id int IDENTITY(100, 1),Name char(50) NOT NULL,Lastname char(50) NOT NULL,Number char(50) ,Area nvarchar(50) ,Date nvarchar(50)NULL,Duration nvarchar(MAX),description nvarchar(MAX),gender nvarchar(50),number2 nvarchar(50),DT datetime NULL);", con)) 
        command.ExecuteNonQuery(); 
     } 
     catch (Exception ex) 
     { 
      //MessageBox.Show("Tables created"); 
     } 
    } 
} 

負載表

private void button4_Click(object sender, EventArgs e) 
{ 
    SqlDataAdapter a = new SqlDataAdapter("select * from contents", c); 
    DataTable t = new DataTable(); 
    a.Fill(t); 

    dataGridView1.DataSource = t; 
    dataGridView1.FirstDisplayedScrollingRowIndex = dataGridView1.RowCount - 1; 
    dataGridView1.AutoResizeColumns(); 
} 

但它不是非常獨特的和有用的數據庫每天都會轉移到另一臺PC,它必須加載完美也我有SQL表中的一些表是靜態的,他們不需要爲他們編碼,我只想用它們作爲資源。另外我聽說過一些嵌入式或本地數據庫可以在應用程序數據文件夾中用作數據庫的方法,並且可以明智地移動應用程序,所以我需要一些幫助。由於

+1

如果你想使用一個'.mdf'文件,你**必須** SQL服務器來訪問它,並使用SQL Server時,你必須** **使用Windows或SQL Server身份驗證 - 你***不能***訪問'.mdf'文件,而無需任何形式的認證.... –

+0

你爲什麼不備份數據庫並在新的PC上恢復。或者如果兩臺PC都在同一個局域網中,直接連接到數據庫。 –

回答

1

,而不是創建原始數據庫每次,您可以使用您的MDF文件作爲來源,如下面

Create database dbname 
On 
( 
Filename= 'path where you copied mdf file' 

) 
For attach; 
+0

嗯它的好,所以我們可以使用一個mdf文件的URL?有意思的工作,我想複製數據庫的程序文件夾中的我想是這樣的調試使用默認的簡單 – dado

+0

路徑可以共享路徑執行補丁 – TheGameiswar

相關問題