Linux下用freetds执行SQL Server的sql语句和存储过程

2014-11-24 18:57:58 · 作者: · 浏览: 6

好,不废话了,下面开工。


一、包含头文件


#include //freetds


#include //freetds


二、执行sql语句或存储过程


1、查询类


1.1 核心代码:


1.2 直接执行Sql语句


queryCmd(dbprocess, "select * from table");


1.3 不带参数的存储过程


创建存储过程如下:


createproctestPro


as


  select*fromstu;


go


调用如下:


queryCmd(dbprocess, "exec testPro");


1.4 带参数的存储过程


创建存储过程如下:


createprocgetPro1(@numint)


as


  select*fromstuwhereStuID=@num;


go


调用如下:


queryCmd(dbprocess, "exec getPro1 1003");


2、更新类


2.1 核心代码:


2.2 直接执行sql语句


updateCmd(dbprocess,"insert into stu(StuID, Name, Age) values(888,'Mike',24)");


2.3不带参数的存储过程


创建存储过程如下:


createprocdelPro1


as


  deletefromstuwhereStuID=888


go


调用如下:


updateCmd(dbprocess,"exec delPro1");


2.4 带参数的存储过程


创建存储过程如下:


createprocdelPro2(@numint)


as


  deletefromstuwhereStuID=@num


go


调用如下:


updateCmd(dbprocess,"exec delPro2 888");


三、编译选项


比如源文件为test2.cppfreetds的安装路径为usr/local/freetds ,则如下编译:


g++ -g test2.cpp -o test2 -L/usr/local/freetds/lib -lsybdb -I/usr/local/freetds/include


PS环境 freetds 0.91 + Sqlserver 2008


好,就这些了,希望对你有帮助。