创建SQL server c#查询

本文关键字:查询 server SQL 创建 | 更新日期: 2023-09-27 17:52:36

我对car_brand_id字段有问题。我需要这个字段来创建关系,但我有错误在这个字符串。如何解决这个问题?

string brand_query = "SELECT car_brand_id FROM car_brand WHERE name_brand = @brand ";
cmd = new SqlCommand(brand_query, SqlConn);
cmd.Parameters.AddWithValue("@brand", brand);
int car_brand_id = cmd.ExecuteNonQuery();  // There i have an error

string model_query = "INSERT INTO car_model (name_model, car_brand_id) VALUES (@model, @car_brand_id)";
cmd = new SqlCommand(model_query, SqlConn);
cmd.Parameters.AddWithValue("@model", model);
cmd.Parameters.AddWithValue("@car_brand_id", car_brand_id);
cmd.ExecuteNonQuery();

错误信息:

INSERT语句与FOREIGN KEY约束冲突。"FK_car_model_car_b30F848ED"。冲突发生在数据库"avtoservice:, table "dbo。Car_brand",列car_brand_id。语句已被终止

创建SQL server c#查询

试着改变这一行:

int car_brand_id = cmd.ExecuteNonQuery();  // There i have an error

:

int car_brand_id = (int)cmd.ExecuteScalar();

ExecuteNonQuery()方法将返回受影响的行数,而不是您所期望的查询值。

参数不能用引号括起来。

这是一个字符串,字面意思是@brand,而不是参数的值