C# コードを実行するたびに、すべてがうまくいき、コンパイラ エラーも何もありません。しかし、サーバー エクスプローラーでテーブルを見てみると、何も挿入されていませんでした。Visual Studio を再起動しましたが、まだ何もありません。
私はデバッグに行き、cmd
実行前に文字列を調べましたが、文字ExecuteNonQuery()
列はまだ残って@itmId,...
います。それが影響するかどうかはわかりません。何か助けはありますか?
try
{
Item workingItem = mItemList.Items[itemCombo.SelectedIndex - 1] as Item;
SqlCeConnection sc = new SqlCeConnection(SalesTracker.Properties.Settings.Default.salesTrackerConnectionString);
SqlCeCommand cmd = new SqlCeCommand("INSERT INTO Sales VALUES(@itmId, @itmNm,@fstNm, @date,@prft, @commision)", sc);
cmd.Parameters.AddWithValue("@itmId", workingItem.ItemId);
cmd.Parameters.AddWithValue("@itmNm", workingItem.ItemName);
cmd.Parameters.AddWithValue("@fstNm", logedSalesmen.ID);
cmd.Parameters.AddWithValue("@date", DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"));
cmd.Parameters.AddWithValue("@prft", workingItem.Profit);
cmd.Parameters.AddWithValue("@commision", workingItem.Commision);
sc.Open();
cmd.ExecuteNonQuery();
sc.Close();
MessageBox.Show("Save successfull");
this.Close();
}
catch (Exception exc)
{
MessageBox.Show(exc.Message);
}
EDIT:それは使用されている一時的なデバッグデータベースの問題です。それを理解するためにselect count(0)を使用しました。しかし、それを修正するために接続文字列で何を使用すればよいかわかりません。