WIN32汇编实现基于API的ODBC编程

小站开通了:http://noteba.com/  

 

m2m macro p1,p2
 push p2
 pop p1
endm

.data

szBuffer db 256 dup(0)
szFormat db '%d',0dh,0ah,0


Connection struct
 hEnv      dword 0 ;建立的环境的句柄
 hConn      dword 0 ;建立的连接的句柄
 pInConnectString    dword 0 ;输入的连接字符串缓冲区的指针
 inConnectStringLength  dword 0 ;输入的连接字符串缓冲区的长度
 pOutConnStr     dword 0 ;输出的连接字符串缓冲区的指针
 outConnStrLength   dword 0 ;输出的连接字符串缓冲区的长度
 pOutConnStrLength   dword 0 ;输出的连接字符串的实际长度
Connection ends

 

Parameter struct
 pParamValue    dword 0 ;参数缓冲区的指针
 pParamStrL    dword 0 ;参数缓冲区的实际长度的指针
 paramStrL    dword 0 ;参数缓冲区的实际长度
 paramValueSize   dword 0 ;对应的参数的数据库中的长度
 paramType    dword 0 ;参数对应的C类型
 paramDirection   dword 0 ;参数的输入输出类型(INPUT,OUTPUT,INPUT_OUTPUT)
 paramDType    dword 0 ;数据库中对应的参数的类型
 paramDSize    dword 0 ;数据库中对应的参数的长度
 paramDeimalSize   dword  0 ;数据库中对应的参数的DEIMAL长度 
 
Parameter ends

.code

DEBUG proc val:dword
 
 invoke wsprintf,addr szBuffer,addr szFormat,val
 invoke MessageBox,NULL,addr szBuffer,NULL,MB_OK
 
 ret
DEBUG endp

DEBUG2 proc pval:dword
 
 
 invoke MessageBox,NULL,pval,NULL,MB_OK
 
 ret
DEBUG2 endp
 

ODBCConnect proc pConnection:dword
 local theDiagState[50]:byte
 local theNativeState:dword
 local theMessageText[1024]:byte
 local iOutputNo:word
 
 mov edx,pConnection
 
 push edx
 invoke SQLAllocHandle, SQL_HANDLE_ENV, SQL_NULL_HANDLE,addr (Connection ptr [edx]).hEnv
 pop edx
 .if ax==SQL_SUCCESS || ax==SQL

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值