创建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。语句已被终止
试着改变这一行:
int car_brand_id = cmd.ExecuteNonQuery(); // There i have an error
:
int car_brand_id = (int)cmd.ExecuteScalar();
ExecuteNonQuery()
方法将返回受影响的行数,而不是您所期望的查询值。
参数不能用引号括起来。
这是一个字符串,字面意思是@brand
,而不是参数的值