📄 dbbase.cpp
字号:
/********************************************************************
created: 2005/09/06
created: 2005 - 9 - 6
filename: fap\dbbase.cpp
file path: fap
file base: dbbase
file ext: cpp
author: KasenHOo @ Eleplan jp
purpose:
*********************************************************************/
// 偙傟偼丄傾僾儕働乕僔儑儞 僂傿僓乕僪傪巊偭偰惗惉偝傟偨丄VC++ 傾僾儕働乕僔儑儞 僾儘僕僃僋僩偺
// 儊僀儞 僾儘僕僃僋僩 僼傽僀儖偱偡丅
#include "stdafx.h"
#include "DBBase.h"
#using <mscorlib.dll>
#using <System.Xml.dll>
#using <system.windows.forms.dll>
using namespace System;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Data::OleDb;
//Construct Function
DBBase::DBBase (){
adpBase = new OleDbDataAdapter();
dsetBase = new DataSet();
}
//Connection open
//Return: Sucsess true
// Fail false
bool DBBase::blnCnnOpen(String * strCnn ,String * strUser , String * strPass )
{
if (strCnn->Trim() != S"" &&
strUser->Trim() != S"" &&
strPass->Trim() != S""
)
{
strConnectString = String::Concat( S"Provider=MSDAORA.1;User ID=", strUser, S";Data Source=",strCnn,S";Password=", strPass, S"; " );
//strConnectString = String::Concat( S"Provider='OraOleDb.Oracle';User ID=", strUser, S";Data Source=",strCnn,S";Password=", strPass, S"; " );
strConnectString = String::Concat( strConnectString,S"Persist Security Info=False;");
}
else
{
return false;
}
try
{
// if((connBase->State == System::Data::ConnectionState::Closed )){
connBase = new OleDbConnection(strConnectString);
connBase->Open();
// }
}
catch(Exception * ex){
MessageBox::Show(String::Concat(S"Oracle Error! \n" , ex->Message),S"Error");
return false;
}
__finally{
}
return true;
}
//Connection close
//Return: Sucsess true
// Fail false
bool DBBase::blnCnnClose (){
if (!(connBase->State==System::Data::ConnectionState::Closed )) {
connBase->Close ();
}
return true;
}
//SQL execute
//Return: Sucsess true
// Fail false
bool DBBase::blnSQL_Execute (String * strSQL ){
if (strSQL->Trim()==S"") {
return false;
}
if (! (connBase->State == System::Data::ConnectionState::Open ))
connBase->Open();
try
{
cmdExecute = connBase->CreateCommand();
// transExecute = connBase->BeginTransaction();
cmdExecute->Connection = connBase;
if (blnTrans) {
cmdExecute->Transaction = transExecute;
}
cmdExecute->CommandText = strSQL;
cmdExecute->ExecuteNonQuery();
}
catch (Exception *ex)
{
//MessageBox::Show(String::Concat(S"SQL Execute Error!\n",ex->Message),S"Error");
MessageBox::Show(String::Concat(S"操作数据库失败!!\n错误信息:",ex->Message),S"Error");
return false;
}
__finally
{
}
return true;
}
//SQL execute
//Return: Sucsess true
// Fail false
//IN : strSQL: Sql Sentence
// *intCnt: inflection records count
/* Add by KasenHOo @ 2005/11/15 */
bool DBBase::blnSQL_Execute (String * strSQL, int *intCnt ){
if (strSQL->Trim()==S"") {
return false;
}
if (! (connBase->State == System::Data::ConnectionState::Open ))
connBase->Open();
try
{
cmdExecute = connBase->CreateCommand();
// transExecute = connBase->BeginTransaction();
cmdExecute->Connection = connBase;
if (blnTrans) {
cmdExecute->Transaction = transExecute;
}
cmdExecute->CommandText = strSQL;
*intCnt = cmdExecute->ExecuteNonQuery();
}
catch (Exception *ex)
{
MessageBox::Show(String::Concat(S"操作数据库失败!!\n错误信息:",ex->Message),S"Error");
return false;
}
__finally
{
}
return true;
}
/* End by KasenHOo @ 2005/11/15 */
//SQL Select
//Return: Sucsess DateSet
// Fail NULL
DataSet * DBBase::dSetSQL_Select(String *strSQL,
String * StrTableName,
int intClear //clear DBBase Dataset default 0 to clear ,,1 not to clear
){
if ((S"" == strSQL->Trim()) || (S"" == StrTableName->Trim())) {
return false;
}
adpBase->SelectCommand = new OleDbCommand(strSQL, connBase);
try
{
if (intClear == 0) {
dsetBase->Clear();
}
adpBase->Fill(dsetBase,StrTableName);
}
catch (Exception *ex) {
//MessageBox::Show(String::Concat(S"SQL Select Error!! \n", ex->Message),S"Error");
return NULL;
}
return dsetBase->Copy() ;
}
//Begin Transaction
bool DBBase::blnBeginTrans (){
transExecute = connBase->BeginTransaction(IsolationLevel::ReadCommitted);
blnTrans = true;
return true;
}
//Commit
bool DBBase::blnCommit (){
try{
transExecute->Commit();
}
catch(Exception* ex)
{
MessageBox::Show(String::Concat(S"Commit Error!! \n", ex->Message),S"Error");
try
{
transExecute->Rollback();
}
catch (OleDbException* ex)
{
if (transExecute->Connection != 0)
{
}
}
return false;
}
__finally
{
blnTrans = false ;
}
return true;
}
//Rollback
bool DBBase::blnRollBack (){
try
{
transExecute->Rollback();
}
catch (OleDbException* ex)
{
MessageBox::Show(String::Concat(S"Rollback Error!! \n", ex->Message),S"Error");
if (transExecute->Connection != 0)
{
}
return false;
}
__finally{
blnTrans = false;
}
return true;
}
//SQL select for just as "Select count(*) from AAA" etc.
//return success INT
// Fail -1
int DBBase::intSQL_Select(String * strSQL){
int intTmp;
try
{
cmdExecute = new OleDbCommand(strSQL,connBase);
}
catch (OleDbException* ex)
{
//MessageBox::Show(String::Concat(S"SQL Select Error!! \n", ex->Message),S"Error");
return -1;
}
try
{
intTmp = Convert::ToInt32 ((cmdExecute->ExecuteScalar()));
}
catch (OleDbException *ex1) {
return -1;
}
return intTmp;
}
//SQL select for just as "Select * from AAA" etc.
//return success DataRow
// Fail NULL
DataRow *DBBase::dRowSQL_Select (String *strSQL){
DataRow * dRowTmp;
if (strSQL->Trim()->CompareTo(S"" )==0) {
return NULL;
}
DataSet * dSetTmp = dSetSQL_Select (strSQL,S"TMP",0);
try {
dRowTmp = dSetTmp->Tables->Item[S"TMP"]->Rows->Item[0];
}
catch (Exception *ex) {
//MessageBox::Show(String::Concat(S"SQL Select Error!! \n", ex->Message),S"Error");
return NULL;
}
__finally{
}
return dRowTmp;
}
//Open Default Connection
bool DBBase::blnCnnOpen(){
//return DBBase::blnCnnOpen (S"fap",S"fap",S"fap");
return DBBase::blnCnnOpen (S"fap153",S"fap",S"fap");
//return DBBase::blnCnnOpen (S"fap150",S"fap",S"fap");
}
OleDbDataReader * DBBase::dReadSQL_Select(String * strSQL){
OleDbDataReader *dReadTmp;
OleDbCommand* dCmdTmp = new OleDbCommand(strSQL,connBase);
//dCmdTmp->CommandText = strSQL;
try {
dReadTmp = dCmdTmp->ExecuteReader();
}
catch (OleDbException * ex) {
MessageBox::Show(String::Concat(S"SQL Select Error!! \n", ex->Message),S"Error");
return dReadTmp;
}
return dReadTmp;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -