项目原来用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通不过
求语法,谢谢了

解决方案 »

  1.   

    --if object_id('proc_tblModelInfo_Insert') is not null drop procedure [proc_tblModelInfo_Insert]
    --drop procedure if exists proc_tblModelInfo_Insert
    create procedure proc_tblModelInfo_Insert
    @ID int output,
    @PersonID int,
    @FilePath nvarchar(256)
    as
    begin
      insert into ModelInfo(PersonID,FilePath) values(@PersonID,@FilePath)
      set @ID = (select max('id') from ModelInfo)
    end;
      

  2.   


    2楼 你这个是 微软 sql的语句汗 提问选错论坛了。
      

  3.   

    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
      

  4.   

    我两边都来答,加以分号
    ======================
    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 ;==================