Asp.net 尝试使用MYSql更新2个表失败

Asp.net 尝试使用MYSql更新2个表失败,asp.net,mysql,stored-procedures,Asp.net,Mysql,Stored Procedures,我的问题是: CREATE DEFINER=`root`@`%` PROCEDURE `individual_Address_update`( IN oIndividualID int(11), IN oParentID int(11), IN oFarmName varchar(45), IN oFirstName varchar(45), IN oLastName varchar(45), IN oMiddleNam

我的问题是:

CREATE DEFINER=`root`@`%` PROCEDURE `individual_Address_update`(

IN oIndividualID       int(11),
IN oParentID         int(11),
IN oFarmName         varchar(45),
IN oFirstName        varchar(45),
IN oLastName         varchar(45),
IN oMiddleName       varchar(45),
IN oRoleTypeID       int(11),
IN oPhone            varchar(45),
IN oPhoneExtention   varchar(45),
IN oMobilPhone       varchar(45),
IN oFax              varchar(45),
IN oEmail            varchar(45),
IN oAddress1         varchar(45),
IN oAddress2         varchar(45), 
IN oCity             varchar(45), 
IN oState            varchar(45), 
IN oZip              varchar(45),
IN oCountry          varchar(45) 
)
BEGIN
    Update individual i
    left join address a
    on a.individualID =  i.individualID 
    set 
        i.individualID = oIndividualID, 
        i.ParentID = oParentID,
        i.FarmName = oFarmName, 
        i.FirstName = oFirstName,
        i.LastName = oLastName,
        i.MiddleName = oMiddleName,
        i.RoleTypeID = oRoleTypeID,
        i.Phone = oPhone, 
        i.PhoneExtention = oPhoneExtention,
        i.MobilPhone = oMobilPhone,
        i.Fax = oFax, 
        i.Email = oEmail,
        a.individualID = oIndividualID,
        a.Address1 = oAddress1,
        a.Address2 = oAddress2,
        a.City = oCity,
        a.State = oState,
        a.Zip = oZip,
        a.Country = oCountry
        Where i.individualID = a.individualID;
END
我将其带到FormView的SqlDataSource中,当我尝试更新数据库和2个表时,会出现以下错误:在集合中找不到参数“oIndividualID”。
我做错了什么?我只需要使用MySql中的存储过程和Asp.net页面中的FormView更新2个表。

添加参数时,请确保使用

例如:
cmd.Parameters.AddWithValue(“?oIndividualID”,3)

谢谢。这是一个存储过程。我不是在代码隐藏中调用它。是的,但是存储过程有参数。检查SqlDataSource是否正确设置了参数。顺便说一下,如果您使用的是MySQL数据库,那么您应该使用MySqlDataSource,对吗?我不认为Asp.Net在我的工具箱中提供了MySqlDataSource。除非这是新的东西?我使用的是MySql数据源。但我使用工具箱中的SqlDataSource从数据库中获取存储的过程。我所有的程序都很好用。正是更新2个表导致了问题。(与问题无关:)使用
其中i.individualID=a.individualID
,意味着您实际上正在进行
内部联接,而不是
左联接。发布用于调用存储过程的asp.net代码将非常有用;还要注意的是,在查询的任何地方,您似乎都没有对individualID进行过滤;这将更新联接条件满足的每一行,而不仅仅是针对单个用户(除非您有意这样做)。如果没有,那么应该更改WHERE子句。