C# insert语句中的错误C/MySQL多个select语句
我在将C中的两个不同表插入MySql数据库时遇到了一个小问题 这是发生错误的代码C# insert语句中的错误C/MySQL多个select语句,c#,mysql,database,C#,Mysql,Database,我在将C中的两个不同表插入MySql数据库时遇到了一个小问题 这是发生错误的代码 command.CommandText = @"INSERT INTO personen (Name, Surname, GenderID, BirthplaceID) VALUE @Name, @Surname, (SELECT GenderID FROM gender WHERE Gender = @GenderID), (SELECT BirthplaceID FRO
command.CommandText =
@"INSERT INTO personen (Name, Surname, GenderID, BirthplaceID)
VALUE @Name, @Surname, (SELECT GenderID FROM gender WHERE Gender = @GenderID),
(SELECT BirthplaceID FROM place WHERE placename = @BirthplaceID);";
当我替换@语句并只填写名称时,它工作正常。
所以我想知道问题出在哪里
另外,问题不在于一些答案所说的参数,因为我已经添加了它们,请参见下文
insertname = data.Name;
insertsurname = data.Surname;
insertgenderid= data.Gender;
insertbirthplaceid= data.Birthplace;
command.Parameters.AddWithValue("@Name", insertname);
command.Parameters.AddWithValue("@Surname", insertsurname);
command.Parameters.AddWithValue("@GenderID", insertgenderid);
command.Parameters.AddWithValue("@BirthplaceID", insertbirthplaceid);
command.ExecuteNonQuery();
如果问题是您列出的标题:
这里的表都是int的,因为语法是我们想要的,而不是类型
首先,它应该是价值观而不是价值观。其次,这些值必须用括号括起来
command.CommandText =
@"INSERT INTO personen (Name, Surname, GenderID, BirthplaceID)
VALUES (@Name, @Surname,
(SELECT GenderID FROM gender WHERE Gender = @GenderID),
(SELECT BirthplaceID FROM place WHERE placename = @BirthplaceID)
);";
使用dotConnect或其他mySQL库实现?我想我还不清楚我的问题,因为我添加了所有参数,但它不起作用。非常感谢您的帮助: