博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[2013年12月12日]SQL Server 要明确选择使用哪个数据库
阅读量:4045 次
发布时间:2019-05-24

本文共 2145 字,大约阅读时间需要 7 分钟。

2013年12月12日11:12:35

今天,学习在Linux下访问SQL Server。连接成功了,但执行SQL语句一直失败。原来要选择数据库。我接手的程序有这一段代码。尊重经验。

下面贴一下代码:

//SQL执行信息获取函数int lww_msg_handler(DBPROCESS *dbproc, DBINT msgno, int msgstate, int severity,	char *msgtext, char *srvname, char *procname, int line){		printf("lww_msg_handler!!\n");		printf("SQLERR:	Msg %ld, Level %d, State %d, msg %s\n",(long) msgno, severity, msgstate,msgtext);	return 0;							}//SQL错误获取函数int lww_err_handler(DBPROCESS * dbproc, int severity, int dberr, int oserr,char *dberrstr, char *oserrstr){		printf("lww_err_handler!!\n");	printf ("DB-Library Error %i: %s\n", dberr, dberrstr);	return (INT_CANCEL);	//return 0;}
int main(int argc ,char **argv){printf("hello world!!\n");	// Install user-supplied error- and message-handling functions.	dberrhandle(lww_err_handler);	dbmsghandle(lww_msg_handler);	// Initialize DB-Library.	if(dbinit()==NULL)	{		printf("dbinit 失败!!\n");		return 0;	}	printf("dbinit 成功!!\n");	LOGINREC *   login;     // The login information. 	login = dblogin ();	if(login==NULL)	{		printf("dblogin 失败!!\n");		return 0;	}	printf("dblogin 成功!!\n");	DBSETLUSER(login,"sa"); 	DBSETLPWD(login,"123"); 	DBSETLAPP(login,"lwwDatabase");	DBPROCESS *  dbproc;    // The connection with SQL Server.	dbproc = dbopen (login, "192.168.4.186");	if(dbproc==NULL)	{		printf("dbopen 失败!!\n");		return 0;	}	printf("dbopen 成功!!\n");	dbcmd(dbproc,"use lwwDatabase");	dbsqlexec(dbproc);	//dbcmd (dbproc, "SELECT Point1ID, Point2ID FROM LineTable WHERE LineID=2");	dbcmd (dbproc, "SELECT * FROM LineTable");	// Send the command to SQL Server and start execution.	RETCODE ret;	ret=dbsqlexec (dbproc);	if(ret==FAIL)	{		printf("dbsqlexec 失败!!\n");		dbexit();		return 0;	}	printf("dbsqlexec 成功!!\n");	while ((result_SExitState = dbresults(dbproc)) != NO_MORE_RESULTS) 	{ 		if (result_SExitState == SUCCEED) 		{ 				int point1ID=-1;int point2ID=-1;			dbbind(dbproc,2,INTBIND,(DBINT)0,(BYTE *)&point1ID);			dbbind(dbproc,3,INTBIND,(DBINT)0,(BYTE *)&point2ID);			while (dbnextrow(dbproc) != NO_MORE_ROWS)			{				printf("point1ID:%d,point2ID:%d.\n",point1ID,point2ID);			}		}	}	dbclose(dbproc);	dbexit();	printf("退出程序!!\n");	return 0;}

转载地址:http://ycwci.baihongyu.com/

你可能感兴趣的文章
course_2_assessment_6
查看>>
coursesa课程 Python 3 programming course_2_assessment_7 多参数函数练习题
查看>>
coursesa课程 Python 3 programming course_2_assessment_8 sorted练习题
查看>>
在unity中建立最小的shader(Minimal Shader)
查看>>
1.3 Debugging of Shaders (调试着色器)
查看>>
关于phpcms中模块_tag.class.php中的pc_tag()方法的含义
查看>>
vsftp 配置具有匿名登录也有系统用户登录,系统用户有管理权限,匿名只有下载权限。
查看>>
linux安装usb wifi接收器
查看>>
多线程使用随机函数需要注意的一点
查看>>
getpeername,getsockname
查看>>
让我做你的下一行Code
查看>>
浅析:setsockopt()改善程序的健壮性
查看>>
关于对象赋值及返回临时对象过程中的构造与析构
查看>>
VS 2005 CRT函数的安全性增强版本
查看>>
SQL 多表联合查询
查看>>
Visual Studio 2010:C++0x新特性
查看>>
drwtsn32.exe和adplus.vbs进行dump文件抓取
查看>>
cppcheck c++静态代码检查
查看>>
在C++中使用Lua
查看>>
一些socket的编程经验
查看>>