gpt4 book ai didi

C++ mysql存储过程错误代码1327

转载 作者:行者123 更新时间:2023-11-28 08:06:48 24 4
gpt4 key购买 nike

我有这张 table

create table utilizator(
utilizatorId bigint not null auto_increment primary key,
loghin varchar(500),
password varchar(50) not null,
tip bigint not null,
persoanaId bigint not null,
evenimentId bigint not null);

和这段c++代码

 string vU="demo",vP="1234";
Driver * vDriver = get_driver_instance();
auto_ptr< Connection > vCon(vDriver->connect(getHost(),getUser() , getPassword() ));
vCon->setSchema(getDB());
auto_ptr< Statement > vStmt(vCon->createStatement());

vStmt->execute("DROP PROCEDURE IF EXISTS fLoghin");
vStmt->execute("CREATE PROCEDURE fLoghin(in pUser varchar(200),in pPass varchar(200),out pUId int,out pTip int,out pEId int) BEGIN select utilizatorId into pUId ,tip into pTip,evenimentId into pEId from utilizator where loghin=pUser and password=pPass ; END ; ");
vStmt->execute("CALL fLoghin("+vU+","+vP+", @out1,@out2,@out3)");

auto_ptr<ResultSet > res(vStmt->executeQuery("SELECT @out1,@out2,@out3 AS _reply"));
while (res->next())
cout << "... @output = " << res->getString("_reply") << endl;

在行 vStmt->execute("CREATE PROCEDURE ... 我得到这个错误

 ERR: Undeclared variable: tip (MySQL error code: 1327, SQLState: 42000 )

最佳答案

尝试

CREATE PROCEDURE fLoghin(in pUser varchar(200),
in pPass varchar(200),
out pUId int,
out pTip int,
out pEId int)
BEGIN
select pUId = utilizatorId, pTip = tip, pEId = evenimentId
from utilizator
where loghin=pUser and password=pPass ;
END ;

我现在无法验证。也许你需要在你的变量前面放一个 @ ,比如

@PUId = utilizatorId ...

关于C++ mysql存储过程错误代码1327,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10140313/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com