项目原来用ms sql,现在改为mysql
用c++ 写的项目,ado连接数据库。从来没用过mysql,听说只需要更改连接字符串,就使用ado的其他部分不用修改了。在此之前先创建数据库和存储过程:
数据库创建没什么问题。
存储过程就这么也通不过:drop procedure if exists proc_tblModelInfo_Insert
create procedure proc_tblModelInfo_Insert(
out ID int,
PersonID int,
FilePath nvarchar(256)
)
begin
insert into ModelInfo('PersonID','FilePath') values(PersonID,FilePath)
set ID = (select max('id') from ModelInfo)
end;mysql通不过
求语法,谢谢了
原帖:
http://topic.csdn.net/u/20120525/17/b3a84486-dfa1-4964-aaa2-6e080b4b7ee7.html?seed=195229220&r=78679788#r_78679788
发错论坛,移动到这,两边都给分哈。
用c++ 写的项目,ado连接数据库。从来没用过mysql,听说只需要更改连接字符串,就使用ado的其他部分不用修改了。在此之前先创建数据库和存储过程:
数据库创建没什么问题。
存储过程就这么也通不过:drop procedure if exists proc_tblModelInfo_Insert
create procedure proc_tblModelInfo_Insert(
out ID int,
PersonID int,
FilePath nvarchar(256)
)
begin
insert into ModelInfo('PersonID','FilePath') values(PersonID,FilePath)
set ID = (select max('id') from ModelInfo)
end;mysql通不过
求语法,谢谢了
原帖:
http://topic.csdn.net/u/20120525/17/b3a84486-dfa1-4964-aaa2-6e080b4b7ee7.html?seed=195229220&r=78679788#r_78679788
发错论坛,移动到这,两边都给分哈。
DROP PROCEDURE IF EXISTS proc_tblModelInfo_Insert$$
CREATE PROCEDURE proc_tblModelInfo_Insert(
OUT ID INT,
PersonID INT,
FilePath NVARCHAR(256)
)
BEGIN
INSERT INTO ModelInfo(`PersonID`,`FilePath`) VALUES(PersonID,FilePath);
SET ID = (SELECT MAX(`id`) FROM ModelInfo);
END$$
DELIMITER ;
create procedure proc_tblModelInfo_Insert(
out ID int,
PersonID int,
FilePath nvarchar(256)
)
begin insert into ModelInfo(`PersonID`,`FilePath`) values(PersonID,FilePath);
set ID = (select max(`id`) from ModelInfo);end
DELIMITER $$
create procedure proc_tblModelInfo_Insert(
out ID int,
vPersonID int,
vFilePath nvarchar(256)
)
begin
insert into ModelInfo(PersonID,FilePath) values(vPersonID,vFilePath);
set ID = (select max('id') from ModelInfo);
END$$
DELIMITER ;
在drop procedure if exists proc_tblModelInfo_Insert 后面加分号测不过找我!
应该这下面这样
===============================
drop procedure if exists proc_tblModelInfo_Insert ; //这里需要以分号结束好的
DELIMITER $$create procedure proc_tblModelInfo_Insert(
out ID int,
vPersonID int,
vFilePath nvarchar(256)
)
begin
insert into ModelInfo(PersonID,FilePath) values(vPersonID,vFilePath);
set ID = (select max('id') from ModelInfo);
END $$
DELIMITER ;
=========================================================
delimiter$$
create procedure proc_tblModelInfo_Insert(
out ID int,
PersonID int,
FilePath nvarchar(256)
)
begin
insert into ModelInfo('PersonID','FilePath') values(PersonID,FilePath)
set ID = (select max('id') from ModelInfo)
end $$
delimiter;
delimiter$$
delimiter$$
create procedure proc_tblModelInfo_Insert(
out ID int,
PersonID int,
FilePath nvarchar(256)
)
begin
insert into ModelInfo('PersonID','FilePath') values(PersonID,FilePath)
set ID = (select max('id') from ModelInfo)
end $$
delimiter;
星期一再在公司试试
DELIMITER $$
drop procedure if exists proc_tblModelInfo_Insert ;
create procedure proc_tblModelInfo_Insert(
out ID int,
vPersonID int,
vFilePath nvarchar(256)
)
begin
insert into ModelInfo(PersonID,FilePath) values(vPersonID,vFilePath);
set ID = (select max('id') from ModelInfo);
END $$
DELIMITER ;
DELIMITER 后要有空格 哎。