存储过程使用易语言实现MSSQL存储过程的调用(易语言mssql执行)
存储过程是指将一组SQL语句集成、保留在数据库中的有组织的,可以被多次调用的一类特殊的处理过程,大大提高了系统开发效率。在易语言中使用MSSQL存储过程调用首先要导入ADODB.dll库文件,然后在代码中具体实现步骤如下:
第一步:设置MSSQL连接字符串
[code]
StrConn=”Provider=SQLOLEDB.1;Persist Security Info=True”+_
“;User ID=YourUserName;pwd=YourPassword;initial catalog=YourDB;Data Source=YourServerName”
[/code]
第二步:创建ADO对象:
[code]
DllCall(“adodb.dll\CoCreateInstance”,”ptr*”,ObjPtr,_
“ptr”,&CLSID_Connection,”ptr”,0,”int”,2,”int”,0,”ptr”,0,”ptr”,0,”ptr”,0,”ptr*”,0)
[/code]
第三步:使用ADO对象建立连接
[code]
DllCall(“adodb.dll\_Connection::Open”,”ptr”,ObjPtr,”str”,StrConn,”ptr”,0,”int”,2,”int”,0,”ptr”,0,”ptr”,0,”ptr”,0,”ptr*”,0)
[/code]
第四步:创建MSSQL存储过程
[code]
DllCall(“adodb.dll\_Connection::Execute”,”ptr”,ObjPtr,”str”,CmdStr,”ptr”,0,”int”,2,”int”,0x10+8,”ptr”,0,”ptr”,0,”ptr”,0,”ptr*”,0)
//其中CmdStr是需要传入的MSSQL存储过程名
[/code]
第五步:处理存储过程的返回值
[code]
If DllCall(“msvbvm60.dll\VarPtr”,”ptr”,RecordsetPtr,”ptr*”,PtrStr){
DllCall(“adodb.dll\_Recordset::GetFields”,”ptr”,PtrStr(2,0),”int”,2,”int”,0,”ptr”,0,”ptr”,0,”ptr”,0,”ptr*”,PtrFields)
DllCall(“msvbvm60.dll\CopyMemory”,”ptr”,fieldvalue,”ptr”,PtrFields(32,0),”int”,1000)
MsgBox(0,””,”存储过程的返回值为:” fieldvalue)
}
[/code]
综上所述,易语言通过使用ADODB.dll库文件,实现对MSSQL存储过程调用,大大提高了系统开发效率,是非常有价值的一种程序开发技术。