私はいくつかのフィールド、日付、文字列などを含むフォーム(実際にはコンパクトフレームワーク)を持っています。両方のTextBoxコントロールは、BindindSourceのプロパティにバインドされています。フォームデータバインディング - データセットが更新されていませんか?
BindindSourceはDataSourceプロパティとしてDataSetを持ち、DataMemberはSQL CEデータベースのテーブルです。
新しい行を追加する場合は、bindingSource.AddNew()を呼び出してからbindingSource.MoveLast()を呼び出します。フォームはデフォルト値(DataSetで定義されているように)を表示し、すべてのフィールドを編集できます。
フォームを保存するには、bindingSource.EndEdit()を呼び出して、TableAdapterメソッドを使用してDataSet行の値をデータベースに挿入します。日付はそれをデータベースに入れますが、文字列はデータベースに入りません。代わりに、テキストボックスに入力した値ではなく、文字列のデフォルト値が保存されます。
EndEdit()の呼び出し後にDataSetテーブルの行のデータを検査すると、日付フィールドがフォームのデータで更新されますが、文字列は更新されません。
奇妙なことに、(AddNewを呼び出さずに)同じフォームで既存の行を編集すると、文字列フィールドが更新され、うまく維持されます。これは、BindingSourceでAddNew()を呼び出した後にのみ発生します。私は何が欠けていますか?どこから探し始めたらいいですか?
コードは残念ながらここに投稿するには多すぎます。