SQLite3 を Am1808 プロセッサに接続しました。SDカードにデータを保存しています。
それは非常にうまく機能しています。38 フィールドのテーブルを挿入しました。今、同じテーブルに列を追加したいと思います。そのため、テーブル フィールドのパラメーターを変更し、それに応じて関連ファイルを変更しました。コードは正常にコンパイルされましたが、アプリケーションを実行すると次のエラーが表示されます。
エラー: 「39 個の値に対して 38 列」
変更して作成したテーブルは次のとおりです。
const char *SQL_CREATE_ABCTABLE = "CREATE TABLE IF NOT EXISTS MilkCollection \
( MilkCollectionId INTEGER, \
CollectionDate DATE, \
CollectionShift UNSIGNED TINYINT, \
MemberId INTEGER REFERENCES Member(MemberId) ON UPDATE RESTRICT ON DELETE RESTRICT, \
SocietyId INTEGER REFERENCES Society(SocietyId) ON UPDATE RESTRICT ON DELETE RESTRICT, \
SampleNo UNSIGNED INTEGER, \
MilkType UNSIGNED TINYINT, \
Qty FLOAT, \
ActualQty FLOAT, \
QtyType UNSIGNED TINYINT, \
Fat FLOAT, \
ActualFat FLOAT, \
LRCLR FLOAT, \
ActualLRCLR FLOAT, \
SNF FLOAT, \
ActualSNF FLOAT, \
Solid FLOAT, \
ActualSolid FLOAT, \
Water FLOAT, \ // I have inserted this field
FatKG FLOAT, \
ActualFatKG FLOAT, \
SNFKG FLOAT, \
ActualSNFKG FLOAT, \
Rate FLOAT, \
Amount FLOAT, \
ActualAmount FLOAT, \
CanNumber UNSIGNED INTEGER, \
MemberCodeAuto UNSIGNED TINYINT, \
WeightAuto UNSIGNED TINYINT, \
FatAuto UNSIGNED TINYINT, \
LRCLRAuto UNSIGNED TINYINT, \
SNFAuto UNSIGNED TINYINT, \
EntryMode UNSIGNED TINYINT, \
CreatedBy INTEGER REFERENCES UserMaster(UsermasterId) ON UPDATE RESTRICT ON DELETE RESTRICT, \
CreatedOn DATE, \
UpdatedBy INTEGER REFERENCES UserMaster(UsermasterId) ON UPDATE RESTRICT ON DELETE RESTRICT, \
UpdatedOn DATE, \
FlagGSM UNSIGNED TINYINT, \
FlagUSB UNSIGNED TINYINT, \
PRIMARY KEY (MilkCollectionId) )";
このテーブルを作成したら、古いデータベース ファイルを削除します。
私はまだこのエラーが発生しています。