2011-09-25 83 views
0

我寫了一個示例代碼來插入數據到表中,它表​​示已成功插入,但是當我在數據庫資源管理器中看到數據庫中的數據時,表中不顯示任何內容。插入數據不會複製到數據庫中

當我嘗試檢索數據時,它會打印這些值。仍然我在Visual Studio服務器資源管理器中找不到任何記錄。

我試圖谷歌這個問題,我發現調試文件夾中複製這些結果的另一個數據庫。

當我刪除該數據庫時,我遇到了「連接失敗」錯誤。

這是示例代碼:

DomainId_connection = openConnection(); 

cmd = new SqlCeCommand("INSERT INTO Temp_Table_(Id,StartTime) values(@Id ,@StartTime)"); 

cmd.Parameters.Add("@Id", SqlDbType.Int, 4); 
setDomainId_cmd.Parameters.Add("@StartTime", SqlDbType.DateTime, 8); 

cmd.Parameters["@Id"].Value = Id; 
cmd.Parameters["@StartTime"].Value = DateTime.Now; 

cmd.Connection = setDomainId_connection; 
if (cmd.ExecuteNonQuery() > 0) 
{ 
    Console.WriteLine("Domain id stored"); 
} 

closeConnection(setDomainId_connection); 

有人可以幫我做這項工作?

+1

願意分享一些代碼或潛在的應答者對你的問題應該依靠自己的心靈感應的能力? –

+0

您正在使用2個不同的連接對象:'DomainId_connection','setDomainId_connection'和2個不同的命令對象:'cmd','setDomainId_cmd'。清理這個爛攤子。 – abatishchev

+0

我已經粘貼了錯誤的代碼,但我只使用了一個連接字符串和一個命令對象 –

回答

0

您必須將連接字符串更改爲指向服務器資源管理器中使用的其他數據庫。

+0

除非你建立一個連接,你如何插入數據,我的問題是如何查看數據,爲什麼我有另一個數據庫在調試文件夾,如果我更改數據庫的屬性不復制輸出,然後我沒有發現任何數據庫中的任何更改。我在調試文件夾或實際one.I甚至檢查連接字符串它指向數據庫在項目文件夾不在調試文件夾..... –

+0

@ rockyit86:你的連接字符串是什麼? – abatishchev

+0

我猜你從app.config中獲得連接字符串,你可以看看你的調試文件夾中的app.config,或許它在構建過程中以某種方式更改。 – BigL

2

不要使用共享連接塊,使用連接池,使用,還有更多:

using (SqlConnection connection = new SqlConnection(connectionString)) 
using (SqlCommand command = connection.CreateCommand()) 
{ 
    command.CommandText = commandText; 

    command.Parameters.Add("@Id", SqlDbType.Int, 4).Value = id; 
    command.Parameters.Add("@StartTime", SqlDbType.DateTime, 8).Value = DateTime.Now; 

    if (!(cmd.ExecuteNonQuery() > 0)) 
     throw new Exception("Domain id was not stored"); 
} 
+0

看起來好多了,但我認爲問題在於他的連接字符串指向了錯誤的數據庫。 – BigL