2011-09-25 16 views
0

テーブルにデータを挿入するためのサンプルコードが書かれていますが、正常に挿入されたと表示されますが、データベースエクスプローラのデータベースのデータを見ると、データを挿入するとデータベースに複製されません

データを取得しようとすると、その値が出力されます。それでも私はVisual Studioのサーバーエクスプローラでレコードを見つけることはできません。

私はこの問題をGoogleに解決しようとしましたが、その結果を複製する別のデータベースがデバッグフォルダに見つかりました。

そのデータベースを削除すると、「接続に失敗しました」というエラーが表示されます。

これはサンプルコードです:

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

あなたは 'DomainId_connection'、' setDomainId_connection'、 'cmd'、' setDomainId_cmd'の2種類のコマンドオブジェクトの2種類の接続オブジェクトを使用しています。この混乱をきれいにする。 – abatishchev

+0

間違ったコードを貼り付けましたが、接続文字列とコマンドオブジェクトを1つだけ使用しました –

答えて

0

サーバーエクスプローラーで使用される他のデータベースを指すように接続文字列を変更する必要があります。

+0

あなたはどのようにデータを挿入することができます接続を確立しない限り、私の問題は、データを表示する方法と、なぜ私はデバッグフォルダ私がデータベースのプロパティを変更して出力をコピーしないと、データベースの変更が見つかりません.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

関連する問題