データを datagridviews に書き込んでいるプログラムがあり、フォーム データを閉じると SQL Server データベースに保存されます。しかし、子行がある場合に親行を削除する際に問題があります。同時実行違反の例外が発生しています。データベースを確認すると、子行のみが削除されていることがわかります。
SQL Server テーブルを作成するためのクエリは次のとおりです。
sql = "CREATE TABLE Auto("
+ "VIN varchar(10) NOT NULL PRIMARY KEY,"
+ "Make nvarchar(50),"
+ "Model nvarchar(50),"
+ "Year smallint);";
と
sql = "CREATE TABLE Repair("
+ "ID int NOT NULL PRIMARY KEY,"
+ "VIN varchar(10) NOT NULL,"
+ "Description nvarchar(255),"
+ "Cost float)"
+ "ALTER TABLE Repair ADD FOREIGN KEY (VIN) REFERENCES Auto(VIN) ON DELETE CASCADE;";
経由でデータベースを更新していますSqlDataAdapter
。