200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 调用Mysql存储过程输入输出参数【MySQL】

调用Mysql存储过程输入输出参数【MySQL】

时间:2022-07-28 22:46:40

相关推荐

调用Mysql存储过程输入输出参数【MySQL】

数据库|mysql教程

localhost

数据库-mysql教程

存储过程如下:

十七的源码为,安装ubuntu卡在界面,Tomcat+安卓客户端,网络爬虫模板配置,学习php需要的软件中文版,重庆seo网络lzw

DELIMITER $$

miko整站源码,vscode好玩插件,ubuntu镜像烧录后,hsts配置Tomcat,sqlite 密码 php,淘宝插件怎么开发,前端框架之间的联系,爬虫自动发布,php 环境变量 是,seo只是,微信文章导航网站源码,网页 焦点视频代码,在线咨询代码模板,单页面个人网页模板下载,学生管理系统后台代码mvc,米花同城小程序为什么用不了呢lzw

USE `gface_taisau`$$

九人炸金花源码程序,Ubuntu英文书,小白学python爬虫,php go!,郴州seo博客lzw

DROP PROCEDURE IF EXISTS `p_InsertFace`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `p_InsertFace`(

IN Id BIGINT(8),

IN UserID BIGINT(8),

IN FeaLen SMALLINT(2),

IN Fea BLOB,

IN ImgUrl CHAR(64),

IN Type1 INT(4),

IN Type2 INT(4),

IN Type3 INT(4),

IN Type4 CHAR(32),

IN Remarks CHAR(64),

OUT OID BIGINT(8))

BEGIN

DECLARE l_Id BIGINT(8);

SET l_Id= 0;

IF (Id>0) THEN

SET l_Id=Id;

END IF;

INSERT INTO t_face

(ID,

UserID,

FeaLen,

Fea,

ImgUrl,

Type1,

Type2,

Type3,

Type4,

Stamp,

IsDel,

UpdateTime,

Remarks

)

VALUES

(l_Id,

UserID,

FeaLen,

Fea,

ImgUrl,

Type1,

Type2,

Type3,

Type4,

NOW(),

0,

NOW(),

Remarks

);

IF(l_Id=0) THEN

SET OID=LAST_INSERT_ID();

END IF;

END$$

DELIMITER ;

用到的结构体如下

#define MAX_FEA_LEN 10240 //定义10k

#define MAX_URL_LEN 200

//图片信息

typedef struct _FACE_INFO

{

//ULONGLONG nID;

ULONGLONG nID;

ULONGLONG nUserID;

DWORD nFeaLen;

TCHAR szFea[MAX_FEA_LEN];

TCHAR szUrl[MAX_URL_LEN];

DWORD nType1;

DWORD nType2;

DWORD nType3;

TCHAR szType4[32];

TCHAR szStamp[20];//-08-08 08:08:08

TCHAR szRemarks[64];

_FACE_INFO()

{

nID = 0;

nUserID = 0;

nFeaLen = 0;

memset(szFea,0,sizeof(szFea));

memset(szUrl,0,sizeof(szUrl));

nType1 = 0;

nType2 = 0;

nType3 = 0;

memset(szType4,0,sizeof(szType4));

memset(szStamp,0,sizeof(szStamp));

memset(szRemarks,0,sizeof(szRemarks));

}

}FACE_INFO, *PFACE_INFO;

//调研代码如下

HRESULT CFaceDB::RegFaceP(FACE_INFO info,ULONGLONG & nID)

{

MYSQL_STMT * stmt_mysql = mysql_stmt_init(m_pMysql);

try

{

MYSQL_BIND bind[11];

memset(bind, 0, sizeof(bind));

bind[0].buffer_type = MYSQL_TYPE_LONGLONG;

bind[0].buffer = (unsigned char*)&nID;

bind[0].buffer_length = (unsigned long)sizeof(nID);

bind[0].length = 0;

bind[1].buffer_type = MYSQL_TYPE_LONGLONG;

bind[1].buffer = (unsigned char*)&info.nUserID;

bind[1].buffer_length = (unsigned long)sizeof(info.nUserID);

bind[1].length = 0;

bind[2].buffer_type = MYSQL_TYPE_SHORT;

bind[2].buffer = (unsigned char*)&info.nFeaLen;

bind[2].buffer_length = (unsigned long)sizeof(info.nFeaLen);

bind[2].length = 0;

unsigned long nFeaLen = info.nFeaLen;

bind[3].buffer_type = MYSQL_TYPE_BLOB; //特征值

bind[3].buffer = (unsigned char*)info.szFea;

bind[3].buffer_length = (unsigned long)nFeaLen;

bind[3].length = &nFeaLen;

unsigned long nUrlLen = strlen(info.szUrl);

bind[4].buffer_type = MYSQL_TYPE_STRING; //ImgUrl

bind[4].buffer = (char*)info.szUrl;

bind[4].buffer_length = 64;

bind[4].length = &nUrlLen;

bind[5].buffer_type = MYSQL_TYPE_LONG; //type1

bind[5].buffer = (unsigned char*)&info.nType1;

bind[5].buffer_length = (unsigned long)sizeof(info.nType1);

bind[5].length = 0;

bind[6].buffer_type = MYSQL_TYPE_LONG; //type2

bind[6].buffer = (unsigned char*)&info.nType2;

bind[6].buffer_length = (unsigned long)sizeof(info.nType2);

bind[6].length = 0;

bind[7].buffer_type = MYSQL_TYPE_LONG; //type3

bind[7].buffer = (unsigned char*)&info.nType3;

bind[7].buffer_length = (unsigned long)sizeof(info.nType3);

bind[7].length = 0;

unsigned long nType4Len = strlen(info.szType4);

bind[8].buffer_type = MYSQL_TYPE_STRING; //typ4

bind[8].buffer = (char*)info.szType4;

bind[8].buffer_length = 32;

bind[8].length = &nType4Len;

unsigned long nRemarksLen = strlen(info.szRemarks);

bind[9].buffer_type = MYSQL_TYPE_STRING; //remarks

bind[9].buffer = (char*)info.szRemarks;

bind[9].buffer_length = 64;

//bind[9].is_null = 0;

bind[9].length = &nRemarksLen;

bind[10].buffer_type = MYSQL_TYPE_LONGLONG;

bind[10].buffer = (unsigned char*)&nID;

bind[10].buffer_length = (unsigned long)sizeof(nID);

bind[10].length = 0;

char szInsert[1024] = {0};

strcpy_s( szInsert,1024,”CALL P_INSERTFACE(?,?,?,?,?,?,?,?,?,?,@1);”);

//strcpy_s( szInsert,1024,”CALL P_INSERTFACE(?,?,?);”);

mysql_stmt_prepare(stmt_mysql, szInsert, (unsigned long)strlen(szInsert));

mysql_stmt_bind_param(stmt_mysql, bind);

mysql_stmt_bind_result(stmt_mysql,bind + 10);

if( mysql_stmt_execute(stmt_mysql)==0 )

{

CString cmdStr=_T(“SELECT @1”);

int nRet = mysql_query(m_pMysql, cmdStr);

if(0 == nRet)

{

MYSQL_RES* pResult = NULL;

pResult = mysql_store_result(m_pMysql);

if (pResult)

{

MYSQL_ROW rdRow;

rdRow = mysql_fetch_row(pResult);

nID = StrToLONG64(CString(rdRow[0]));//自定义函数 该函数是吧字符串转64位整型

}

mysql_free_result(pResult);

}

mysql_stmt_close(stmt_mysql);

return S_OK;

}

else

{

mysql_stmt_close(stmt_mysql);

return S_FALSE;

}

}

catch(…)

{

mysql_stmt_close(stmt_mysql);

}

return S_FALSE;

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。