2012-04-22 7 views
0

ADO.NETを使用しており、SQL Server 2008データベースのテーブルの列値を更新しようとしています。しかし値は更新されていません。 C#コードでデバッグすると更新されます。ここに私のコードは次のとおりです。SQL Server 2008でテーブルを更新するADO.NET

using (ADONETClass context = new ADONETClass()) 
{ 
    List<Invoices> list = context.Invoices.ToList<Invoices>(); 
    foreach (Invoices b in list) 
    { 
     b.status = 0; 
    } 
} 

は、今私は、コードをデバッグし、context.Invoices.ToList<Invoices>()[0].statusが実際にゼロに設定されていることがわかりました。しかし、プログラムの実行が終了すると、SQL Server Management Studioとステータス値が開いていますが、まだ0が表示されています。何か不足していますか?

おかげ

VARUN

+0

Entityフレームワークを使用している場合、なぜこれをado 。ネット?クラシックなado.netはかなり違って見えるし、別の解決策が必要です。それは何ですか? Ado.netまたはEF? – walther

+0

ああ、知りませんでした!私は今日、私の最初のプログラムを書いた。私のC#プロジェクトには、ADO.NETエンティティデータモデルであるModel1.edmxファイルが含まれています。だから、私はこれがADO .NETだと思った。 – VVV

+0

EFはADO.netの上にあるORMです。 ado.net自体では、実際のSQLクエリを書いたり、接続を管理したりする必要があります。EF(と同様のORM)を使用すると、結果の取得、リレーションシップの管理、低レベルのものは隠されますあなたからのほとんどの時間。 – walther

答えて

2

呼び出しているcontext.SaveChanges()?

+0

いいえ申し訳ありませんが、私はそのようなものを呼び出すことはありません。私は今試して何が起こるか見てみましょう! – VVV

+0

ありがとうございます。それは私の問題を解決し解決しました。ちなみに、私はどこからこのタイプの情報を入手できますか?書籍/ MSDNなど?ご協力ありがとうございました。 – VVV

+0

@VVV、正確に+ビデオチュートリアルなど...しかし、すべてのほとんど - Google。すべてのプログラマーのためのおいしさの無限のソース;) – walther

1

Entity Frameworkを使用していますか? context.SaveChangesの呼び出しがありません。 EntityFrameworkでは、SaveChangesを呼び出すまで、変更内容はすべてメモリに書き込まれ、データベースに書き込まれません。

+0

はい、私はそれを追加し、今は正常に動作します。ありがとう。 – VVV

関連する問題