この種のフォーラムに投稿するのはこれが初めてなので、私の無知をお許しください。
SQL Server 2008 mdf データベースを使用する WPF アプリケーションがあります。
次のコードを使用して、新しいレコードを Sales_TBL というテーブルに挿入します。
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\SalesDB.mdf;Integrated Security=True;User Instance=True");
con.Open();
SqlTransaction tran = con.BeginTransaction();
SqlCommand cmd =
new SqlCommand("INSERT INTO Sales_TBL (Date, Sale_ID,Cust_Fname, Cust_Lname, Comments, Total_Sale_Price) VALUES (@salesDate, @SalesID, @CFname, @CLname, @Comms, @TotSalePrice)", con);
cmd.Parameters.AddWithValue("@salesDate", saleDate_DB);
cmd.Parameters.AddWithValue("@SalesID", salesID_DB);
cmd.Parameters.AddWithValue("@CFname", custFname_DB);
cmd.Parameters.AddWithValue("@CLname", custSname_DB);
cmd.Parameters.AddWithValue("@Comms", comments_DB);
cmd.Parameters.AddWithValue("@TotSalePrice", totSalesPrice_DB);
cmd.Transaction = tran;
cmd.ExecuteNonQuery();
tran.Commit();
con.Close();
//navigate to another page to display the contents of the sales_tbl
recPage printRecPage = new recPage();
this.NavigationService.Navigate(printRecPage);
次に、別のページ (recPage) に移動し、以下の Sales_TBL コードのすべてのコンテンツをリストビュー (SoldItemsmListView) に入力します。
DataClasses1DataContext dc = new DataClasses1DataContext();
var q =
from a in dc.GetTable<Sales_TBL>()
select new RecData
{
salesID = (string)a.Sale_ID,
salesDate = (DateTime)a.Date,
custFname = (string)a.Cust_Fname,
custSname = (string)a.Cust_Lname,
saleComms = (string) a.Comments,
totPrice = (double) a.Total_Sale_Price,
};
SoldItesmListView.DataContext = q;
上記のすべてが正常に機能するようになりましたが、唯一の問題は、挿入クエリを介して入力された最後のレコードが上記のリストビューに表示されないことです(以前に挿入されたデータはリストビューに表示されます)、レコードはに挿入されますアプリケーションを閉じて再実行すると、レコードがリストビューに表示されます。
これが理にかなっていることを願っていますが、なぜこれを行っているのかわかりません.いくつかのフォーラムを検索しましたが、同様の問題は見つかりませんでした.
どんな助けやアドバイスも大歓迎です。