DELPHI+mysql

wangxuelid 2012-09-20 10:43:10

CREATE DEFINER = 'root'@'localhost' PROCEDURE `sp_ceshi`(
OUT result VARCHAR(20)
)
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT ''
BEGIN
set result= '1212' ;

END;



ADOStoredProc1 ,TADOQuery那个能获取MYSQL返回值。
...全文
154 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangxuelid 2012-09-20
  • 打赏
  • 举报
回复
哈哈,看来操作这个人确实少。。
wangxuelid 2012-09-20
  • 打赏
  • 举报
回复

--2012年9月20日14:32:06
代码虽然没有质量,但是确实让人折腾了半天。结贴

wangxuelid 2012-09-20
  • 打赏
  • 举报
回复

CREATE DEFINER = 'root'@'localhost' PROCEDURE `sp_ceshi`(
IN a VARCHAR(20),
IN b VARCHAR(20)
)
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT ''
BEGIN
insert into tb_ceshi(客户编号,增加 )values( a , b );
select '121212' as 'r',id from `tb_ic_cust` limit 0,1 ;
END;





procedure TForm3.btn2Click(Sender: TObject);

var
Result :string;
begin
con1.Close;
con1.ConnectionString := 'Provider=MSDASQL.1;Persist Security Info=False;User ID=root;Data Source=qcwxglic;Extended Properties="DSN=qcwxglic;UID=root;"';
con1.Open;
Result:='';
qry1.Close;
qry1.SQL.Clear;
qry1.SQL.Add(' CALL sp_ceshi( ''0312'', ''918'' ) ');
// ShowMessage(qry1.SQL.Text);
try
qry1.open;
qry1.First;
while not ( qry1.Eof ) do
begin
ShowMessage(qry1.FieldByName('r').AsString);
qry1.Next;
end;

except
ShowMessage('122');
//写日志什么的处理
end;




end;

haitao 2012-09-20
  • 打赏
  • 举报
回复
dbexpress有时不好用。。。。

你这个sql是建立一个存储过程
你想得到建立是否成功,还是执行它得到返回结果
如果后者,可以把存储过程最后改为:select '1212' as fresult;
就得到一个单记录单字段的结果记录集

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧