2010-08-25 36 views
1

我有一個在vista上運行的VB.Net程序,表示正在使用一個文件,但XP上的同一程序沒有該錯誤。Vb.net正在使用的文件

+0

不可能從您提供的信息回答。 – 2010-08-25 05:44:37

回答

0

確保在Using聲明包裝的一次性資源,以確保它們被正確地釋放:

Using conn As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=c:\BAAW\Data\BAAW.mdf;Integrated Security=True;User Instance=True") 
Using cmd As conn.CreateCommand() 
    conn.Open() 
    cmd.CommandText = "SELECT * FROM Employees" 
    Using rdr As SqlDataReader = cmd.ExecuteReader() 
     While rdr.Read() 
      Console.WriteLine(rdr(0)) 
     End While 
    End Using 
End Using 
End Using 
+0

感謝Darin,我會做一個重寫,看看是否修復。感謝你的幫助 – 2010-08-25 06:53:21

0

下載Process Explorer - 您可以使用它來確定哪個進程已打開文件。

+0

對不起,展開後,程序打開一個sql連接,然後當我打開一個新的mdf文件時,關閉()舊連接並打開()新連接。這可以。當我嘗試打開()第一個連接時,出現「使用中的文件」錯誤,但只有當我使用Vista機器時,而不是當我使用XP機器時? – 2010-08-25 06:01:51

+0

@Brad Henderson,你可以顯示你的連接到SQL的代碼嗎? – 2010-08-25 06:02:58

+0

Public conn As New SqlConnection Public FileName As String =「c:\ BAAW \ Data \ BAAW.mdf」 Public connString As String =「Data Source =。\ SQLEXPRESS; AttachDbFilename =」&FileName & "; Integrated Security = True; User實例= TRUE」 conn.ConnectionString = CONNSTRING conn.Open() ,當我用它完成我這樣做: conn.Dispose() conn.Close() – 2010-08-25 06:15:20