如何使用Delphi7 ADO调用where子句作为in参数的mysql存储过程
我有一个mySQL存储过程:如何使用Delphi7 ADO调用where子句作为in参数的mysql存储过程,mysql,delphi-7,procedure,Mysql,Delphi 7,Procedure,我有一个mySQL存储过程: PROCEDURE `update_table_set_where_datefield`( in p_date_time datetime) BEGIN UPDATE table SET onefield = 1 WHERE datefield = p_date_time; END 我尝试使用Delphi7ADO调用上面的存储过程,但数据没有更改。这是为什么?您需要在ADOStoredProcess上使用参数 ADOStoredProc1.ParamByN
PROCEDURE `update_table_set_where_datefield`(
in p_date_time datetime)
BEGIN
UPDATE table SET onefield = 1
WHERE datefield = p_date_time;
END
我尝试使用Delphi7ADO调用上面的存储过程,但数据没有更改。这是为什么?您需要在ADOStoredProcess上使用参数 ADOStoredProc1.ParamByName('PARAM').AsInteger:=变量
adostoredpoc1.打开 您需要在ADOStoredProcess上使用参数 ADOStoredProc1.ParamByName('PARAM').AsInteger:=变量
adostoredpoc1.打开 但是p_date_time参数是日期时间数据类型,而不是整数。为什么要使用ADOStoredProc1.Open?mySQL存储过程没有返回结果集。例如,您应该使用ADOStoredProc1.ParamByName('PARAM').AsDateTime,您可以尝试使用ADOStoredProc1.ExecSql;但是p_date_time参数是日期时间数据类型,而不是整数。为什么要使用ADOStoredProc1.Open?mySQL存储过程没有返回结果集。例如,您应该使用ADOStoredProc1.ParamByName('PARAM').AsDateTime,您可以尝试使用ADOStoredProc1.ExecSql;