我想oracle自己公司的develop2000会最高吧
解决方案 »
- 一条查询语句怎样查前两级的ID
- linux下连接oracle数据库慢
- 关于pl/sql动态声明变量的问题
- 求教一个存储过程
- 如何在命令提示符下连接ORACLE数据库?
- 问个简单的问题:我想把substr(hm,1,2)和sub(hm,4,2)两个值组合成一个字符,怎么放在一起呢?
- oracle实现全文索引怎么做?另要求:查到的关键字在记录中出现次数最多,排在最前,,,,是不是很变态,怎么做呀
- 请问如何在启动svrmgr30.exe时自动连接到指定的数据库?
- 急啊!一个VC++加Oracle的问题,定位不了在哪里出错。请指点,大大给分
- 创建数据库的问题
- 我的系统要重装,我该怎样保留我的数据库?
- oracle 里能否 把一个数据文件(datafile) 从他的表空间里 删除 ? 可以的话怎么做?(这个文件不需要了)
VB 差
#include "Public_var.h"
#include "SqlCA.h"
#include "OneOperatorRecord.h"
#include "OperatorFileWrite.h"#define SQLCODE sqlca.sqlcodeextern CString Global_strError;
extern COperatorFileWrite *Global_myWrite;EXEC SQL DECLARE DB_LOCAL DATABASE ;
EXEC SQL INCLUDE SQLCA;
EXEC SQL WHENEVER SQLERROR CONTINUE;//*********************************************
long DBConnect(const char* strUserName, const char* strPassword, const char* strDbString)
{
TraceWrite("DBConnect() Begin");
EXEC SQL BEGIN DECLARE SECTION;
char userName[64];
char password[64];
char db_link[128];
EXEC SQL END DECLARE SECTION; //initiate the Variant before use it;
memset(userName,0,64);
memset(password,0,64);
memset(db_link,0,128);
strcpy(userName,strUserName);
strcpy(password,strPassword);
strcpy(db_link,strDbString); EXEC SQL WHENEVER SQLERROR GOTO SQL_Error; EXEC SQL CONNECT :userName
IDENTIFIED BY :password
AT DB_LOCAL
USING :db_link; return SQLSUCCESS;
SQL_Error:
EXEC SQL WHENEVER SQLERROR CONTINUE;
Global_strError.Format("DBConnect() End Failed:%s",sqlca.sqlerrm.sqlerrmc);
TraceWrite(Global_strError);
//Global_strError.Format("%s",ERR_MSG_DB_CONNECT);
ErrorOccur(ERR_CODE_DB_CONNECT, SQLCODE);
return SQLCODE;
}long DBDisConnect()
{
TraceWrite("DBDisConnect() Begin");
EXEC SQL WHENEVER SQLERROR GOTO SQL_Error; EXEC SQL AT DB_LOCAL ROLLBACK;
EXEC SQL AT DB_LOCAL COMMIT RELEASE;
TraceWrite("DBDisConnect() End Successful");
return SQLSUCCESS;
SQL_Error:
EXEC SQL WHENEVER SQLERROR CONTINUE;
Global_strError.Format("DisConnect()End Failed %s",sqlca.sqlerrm.sqlerrmc);
TraceWrite(Global_strError);
ErrorOccur(ERR_CODE_DB_DISCONNECT, SQLCODE);
return SQLCODE;
}long Commit()
{
TraceWrite("Commit() Begin"); EXEC SQL WHENEVER SQLERROR GOTO SQL_Error;
EXEC SQL AT DB_LOCAL COMMIT;
TraceWrite("Commit() End Successful");
return SQLSUCCESS;
SQL_Error:
EXEC SQL WHENEVER SQLERROR CONTINUE;
CString strTmp;
strTmp.Format("Commit() End Failed %s",sqlca.sqlerrm.sqlerrmc);
TraceWrite(strTmp);
return SQLCODE;
}long Rollback()
{
EXEC SQL WHENEVER SQLERROR GOTO SQL_Error;
EXEC SQL AT DB_LOCAL ROLLBACK;
return SQLSUCCESS;
SQL_Error:
EXEC SQL WHENEVER SQLERROR CONTINUE;
CString strTmp;
strTmp.Format("RollBack() End Failed %s",sqlca.sqlerrm.sqlerrmc);
TraceWrite(strTmp);
return SQLCODE;
}
//*****************GenmensakiCIFDelete*****************************
long GenmensakiCIFDelete()
{
TraceWrite("GemensakiCIFDelete() begin."); EXEC SQL WHENEVER SQLERROR GOTO SQL_Error;
EXEC SQL AT DB_LOCAL DELETE FROM STGICF;
TraceWrite("GenmensakiCIFDelete() ended successfully.");
return SQLSUCCESS;
SQL_Error:
EXEC SQL WHENEVER SQLERROR CONTINUE;
Global_strError.Format("GenmensakiCIFDelete() ended unsuccessfully.%s",sqlca.sqlerrm.sqlerrmc);
TraceWrite(Global_strError);
ErrorOccur(ERR_CODE_DB_DELETE, SQLCODE);
return SQLCODE;
}//*****************GenmensakiManageDelete*****************************
long GenmensakiManageDelete()
{
TraceWrite("GemensakiManageDelete() begin."); EXEC SQL WHENEVER SQLERROR GOTO SQL_Error;
EXEC SQL AT DB_LOCAL DELETE FROM STGMNG;
TraceWrite("GenmensakiManageDelete() ended successfully.");
return SQLSUCCESS;
SQL_Error:
EXEC SQL WHENEVER SQLERROR CONTINUE;
Global_strError.Format("GenmensakiManageDelete() ended unsuccessfully.%s",sqlca.sqlerrm.sqlerrmc);
TraceWrite(Global_strError);
//Global_strError.Format("%s", ERR_MSG_DB_DELETE);
ErrorOccur(ERR_CODE_DB_DELETE, SQLCODE);
return SQLCODE;
}
[email protected]
Delphi的长处不在数据库应用上。
VC++开发复杂些。
VB适合初学。
2 可以做出更漂亮的界面;
3 在MTS、等组件等应用方面较好用。而PB应用范围主要在数据库应用,用途不宽,但在数据库方面很专业,非常好用。