Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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# insert语句中的错误C/MySQL多个select语句_C#_Mysql_Database - Fatal编程技术网

C# insert语句中的错误C/MySQL多个select语句

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

我在将C中的两个不同表插入MySql数据库时遇到了一个小问题

这是发生错误的代码

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库实现?我想我还不清楚我的问题,因为我添加了所有参数,但它不起作用。非常感谢您的帮助: