Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#SQL行删除具有子行的父行_C#_Sql_Sql Server_Datagridview_Sqldataadapter - Fatal编程技术网

C#SQL行删除具有子行的父行

C#SQL行删除具有子行的父行,c#,sql,sql-server,datagridview,sqldataadapter,C#,Sql,Sql Server,Datagridview,Sqldataadapter,我有一个将数据写入DataGridView的程序,当我关闭表单时,数据将保存到SQL Server数据库。但当父行有子行时,我在删除父行时遇到问题。我得到并发冲突异常。当我检查数据库时,我只看到子行被删除 以下是我创建SQL Server表的查询: sql = "CREATE TABLE Auto(" + "VIN varchar(10) NOT NULL PRIMARY KEY," + "Make

我有一个将数据写入DataGridView的程序,当我关闭表单时,数据将保存到SQL Server数据库。但当父行有子行时,我在删除父行时遇到问题。我得到并发冲突异常。当我检查数据库时,我只看到子行被删除

以下是我创建SQL Server表的查询:

sql = "CREATE TABLE Auto("
                        + "VIN varchar(10) NOT NULL PRIMARY KEY,"
                        + "Make nvarchar(50),"
                        + "Model nvarchar(50),"
                        + "Year smallint);";


我正在通过一个
SqlDataAdapter

更新数据库。我不明白为什么要使用ALTER TABLE。试试这样的方法,它对我来说很好:

CREATE TABLE Auto(
VIN varchar(10) NOT NULL PRIMARY KEY,
Make nvarchar(50),
Model nvarchar(50),
Year smallint
);

CREATE TABLE Repair(
ID int NOT NULL PRIMARY KEY,
VIN varchar(10) NOT NULL,
Description nvarchar(255),
Cost float,
FOREIGN KEY (VIN) REFERENCES Auto(VIN) ON DELETE CASCADE)
);
删除示例:

DELETE FROM Auto WHERE VIN = 'BMW';

它对我有用,这是小提琴

你有扳机吗

DELETE FROM Auto WHERE VIN = 'BMW';