www.pudn.com > 数据库管理实用工具源码.rar > zf2jd.cpp
//--------------------------------------------------------------------------- #include#pragma hdrstop #include "zf2jd.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TFrmzf_To_jd *Frmzf_To_jd; //--------------------------------------------------------------------------- __fastcall TFrmzf_To_jd::TFrmzf_To_jd(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- bool TFrmzf_To_jd::OpenAnyWhereDB(void) { Dbanywhere->Close(); Dbanywhere->Params->Clear(); Dbanywhere->Params->Add("DATABASE NAME="); Dbanywhere->Params->Add("USER NAME="+Edit1->Text); Dbanywhere->Params->Add("ODBC DSN="+Edit4->Text); Dbanywhere->Params->Add("OPEN MODE=READ/WRITE"); Dbanywhere->Params->Add("SCHEMA CACHE SIZE=8"); Dbanywhere->Params->Add("SQLQRYMODE="); Dbanywhere->Params->Add("LANGDRIVER="); Dbanywhere->Params->Add("SQLPASSTHRU MODE=SHARED AUTOCOMMIT"); Dbanywhere->Params->Add("SCHEMA CACHE TIME=-1"); Dbanywhere->Params->Add("MAX ROWS=-1"); Dbanywhere->Params->Add("BATCH COUNT=200"); Dbanywhere->Params->Add("ENABLE SCHEMA CACHE=FALSE"); Dbanywhere->Params->Add("SCHEMA CACHE DIR="); Dbanywhere->Params->Add("ENABLE BCD=FALSE"); Dbanywhere->Params->Add("ROWSET SIZE=20"); Dbanywhere->Params->Add("BLOBS TO CACHE=64"); Dbanywhere->Params->Add("PASSWORD=" + Edit2->Text); try{ Dbanywhere->Open(); } catch(...) { ShowMessage("打开any数据库失败!!"); return false; } return true;; } bool TFrmzf_To_jd::OpenSQLServerDB(void) { Dbsql_server->Close(); Dbsql_server->Params->Clear(); Dbsql_server->Params->Add("DATABASE NAME="); Dbsql_server->Params->Add("USER NAME=" + Edit1->Text); Dbsql_server->Params->Add("ODBC DSN=" + Edit3->Text); Dbsql_server->Params->Add("OPEN MODE=READ/WRITE"); Dbsql_server->Params->Add("SCHEMA CACHE SIZE=8"); Dbsql_server->Params->Add("SQLQRYMODE="); Dbsql_server->Params->Add("LANGDRIVER="); Dbsql_server->Params->Add("SQLPASSTHRU MODE=SHARED AUTOCOMMIT"); Dbsql_server->Params->Add("SCHEMA CACHE TIME=-1"); Dbsql_server->Params->Add("MAX ROWS=-1"); Dbsql_server->Params->Add("BATCH COUNT=200"); Dbsql_server->Params->Add("ENABLE SCHEMA CACHE=FALSE"); Dbsql_server->Params->Add("SCHEMA CACHE DIR="); Dbsql_server->Params->Add("ENABLE BCD=FALSE"); Dbsql_server->Params->Add("ROWSET SIZE=20"); Dbsql_server->Params->Add("BLOBS TO CACHE=64"); Dbsql_server->Params->Add("PASSWORD=" + Edit2->Text); int OpenTimes=0; prjxxOpen: try{ Dbsql_server->Open(); } catch(...) { OpenTimes++; if(OpenTimes<3) goto prjxxOpen; //三次试打开 ShowMessage("打开sql数据库失败!!"); return false; } return true; } //--------------------------------------------------------------------------- void __fastcall TFrmzf_To_jd::ListBox1DblClick(TObject *Sender) { AnsiString S = ListBox1->Items->Strings[ListBox1->ItemIndex]; Table1->Close(); Table1->TableName =S;//.SubString(5,Tbname.Length()-4); try{ Table1->Open(); } catch(...) { ShowMessage("打开数据表失败!!"); } } //--------------------------------------------------------------------------- void __fastcall TFrmzf_To_jd::Button1Click(TObject *Sender) { try{ Query1->Close(); Query1->SQL->Clear(); Query1->SQL->Assign(Memo1->Lines); Query1->ExecSQL(); } catch(...) { ShowMessage("操作失败,可能SQL语法错误!!"); } } //--------------------------------------------------------------------------- void __fastcall TFrmzf_To_jd::Button4Click(TObject *Sender) { if(RadioButton1->Checked) //SQl Server db { if(OpenSQLServerDB()) { Button1->Enabled =true; Session->GetTableNames(Dbsql_server->DatabaseName, "", false, false, ListBox1->Items); Table1->DatabaseName = "SQL_run" ; Query1->DatabaseName = "SQL_run" ; } else { Button1->Enabled =false; ListBox1->Items->Clear(); } } else { if(OpenAnyWhereDB()) { Button1->Enabled =true; Session->GetTableNames(Dbanywhere->DatabaseName, "", false, false, ListBox1->Items); Table1->DatabaseName = "prjmg_run"; Query1->DatabaseName = "prjmg_run" ; } else { Button1->Enabled =false; ListBox1->Items->Clear(); } } } //--------------------------------------------------------------------------- void __fastcall TFrmzf_To_jd::Button2Click(TObject *Sender) { try{ Query1->Close(); Query1->SQL->Clear(); Query1->SQL->Assign(Memo1->Lines); Query1->Open(); } catch(...) { ShowMessage("查询失败,可能SQL语法错误!!"); } } //---------------------------------------------------------------------------