howDBError显示错误代码
ShowDBError(ret);
return FALSE;
}
/*初始化Client_Library*/
if((ret=ct_init(context,CS_VERSION_100)) != CS_SUCCEED)
{
ShowDBError(ret);
return FALSE;
}
/*分配连接结构*/
if((ret=ct_con_alloc(context,&ptrconnection))!=CS_SUCCEED)
{
ShowDBError(ret);
return FALSE;
}
/*设置用户名和口令*/
if((ret=ct_con_props(ptrconnection,CS_SET,CS_USERNAME,username,CS_NULLTERM,NU
LL))!=CS_SUCCEED)
{
ShowDBError(ret);
return FALSE;
}
if((ret=ct_con_props(ptrconnection,CS_SET,CS_PASSWORD,password,CS_NULLTERM,NU
LL))!=CS_SUCCEED)
{
ShowDBError(ret);
return FALSE;
}
/*建立连接*/
char instance[20];
strcpy(instance,strDBName);
if((ret=ct_connect(ptrconnection, (CS_CHAR *)instance,
sizeof(instance))) != CS_SUCCEED)
{
ShowDBError(ret);
return FALSE;
}
else
return TRUE;
}
//////////////**********断开连接函数***********//////////////
void DisConnectSybaseDB()
{
CS_RETCODE ret;
if ((ret = ct_close(ptrconnection, CS_UNUSED))!= CS_SUCCEED)
{
ShowDBError(ret);
}
if ((ret = ct_con_drop(ptrconnection)) != CS_SUCCEED)/*释放资源*/
{
ShowDBError(ret);
}
if((ret=ct_exit(context,CS_UNUSED))!=CS_SUCCEED)/*关闭与服务器的所有
连接,退出CT-L*/
{
ShowDBError(ret);
}
if((ret=cs_ctx_drop(context))!=CS_SUCCEED)/*释放环境结构占用的资源*/
{
ShowDBError(ret);
}
context = (CS_CONTEXT *)NULL;
return;
}
//////////////**********显示错误代码函数***********//////////////
void ShowDBError(int nErrCode)
{
CString strDBErrorInfo;
switch(nErrCode)
{
case CS_MEM_ERROR:
strcpy(strDBErrorInfo, "内存不足或地址分配错误!");
break;
case CS_PENDING:
strcpy(strDBErrorInfo, "异步网络I/O正在进行!");
break;
case CS_BUSY:
strcpy(strDBErrorInfo, "当前连接内有一异步操作正在进行!");
break;
case CS_CANCELED:
strcpy(strDBErrorInfo, "操作被取消!");
break;
case CS_END_RESULTS:
strcpy(strDBErrorInfo, "从服务器返回的结果处理结束!");
break;
case CS_ROW_FAIL:
strcpy(strDBErrorInfo, "提取当前行的数据失败!");
break;
case CS_END_DATA:
strcpy(strDBErrorInfo, "数据提取结束!");
break;
case CS_FAIL:
strcpy(strDBErrorInfo, "函数执行失败!");
break;
default:
strcpy(strDBErrorInfo, "系统不识别的错误!");
break;
}
AfxMessageBox(strDBErrorInfo);
}
以上是简单的连接断开与显示错误信息的一些代码,供大家参考。请大家多指导,和
大家共同进步。我的信箱:moorhen@263.net 如转载请标明作