CVSTRACMAIL SQLITE DEV 總結

CVSTRACMAIL SQLITE DEV 總結 Weather2-9-2005-00:13 Wed  [Dev開發]

從網上下載了一個SQLITEBROWSER,據說是可以對SQLITE數據庫進行可視化數據庫操作的。但是不知道爲什麼,我從CVSTRAC裏面拷貝出來的DB文件,無論是使用SQLITE3還是使用BROWSER還是不能正常打開,報告不是正常的數據庫。mute.gif

根據奇怪的是如果我使用SQLITE3新建一個數據庫,0K的文件,然後使用SQLITEBROWSE進行打開,然後關閉,再打開CVSROOT.DB,那麼就很正常,而我使用代碼則不能正常操作。

打開DB文件一看,SQLITE2.1,難道是這個原因,使用SQLITE2.8就可以正常打開了。cry.gif這也是我不喜歡開源軟件的一個原因,變動有時候太大了。有時候大家責難微軟的WINDOWS不夠先進什麼的,但是人家從商業角度出發,增加系統的延續性,有時不得不損失一些東西YippeeSoft開心軟件

於是改用2.*版本的CppSQLiteDBYippeeSoft開心軟件

同樣以下代碼中將CPPLITE3*改爲CPPLITE*就可以了。

這樣根據原代碼中的SQL語句就能取得任務單相應的信息了。再加上SMTP部分代碼以及SSL動態連接庫,基本上就能完成了。YippeeSoft開心軟件

雖然我已經基本瞭解,但是現在不能繼續作了,也不想繼續作了。

1、我現在在家裏,因爲MONEY的原因,不敢申請一個月99元的寬帶包月,只能通過MODEM上網,不方便,同樣的,調試EMAIL部分也不方便。YippeeSoft開心軟件

2、再則現在我也沒有辦法調試SSL部分,而且我也不喜歡帶着一個SQLITE DLL,而我上網下載資料也不方便

3、最重要的是:我發現我CVS提交等的EMAIL通知軟件CVSMAIL不是開源的,即使是開源的,我也還得再加上一個SSL,如果這樣的話,我還不如開一個SSL STUNNEL軟件算了。

所以,這個就算告一個段落了

// TODO: Add extra validation here
 const char* gszFile = "C://cvsroot.db";
     
    CppSQLite3DB db;

 //    cout << "SQLite VersiYippeeSoft開心軟件on: " << db.SQLiteVersion() << endl;
 TRACE((char *)db.SQLiteVersion);
 //    remove(gszFile);
    db.open(gszFile);
 CString STicketSQL = "SELECT type, status, origtime, changetime, derivedfrom, ";
 STicketSQL+="version, assignedto, severity, priolaugh.gifrity, subsystem, owner, ";
 STicketSQL+="title, description, remarks, contact FROM ticket WHERE tn=%d";

 CString strtick;
 strtick.Format(STicketSQL,103);
 CppSQLite3Query q = db.execQuery(strtick.GetBuffer(0));
 strtick.ReleaseBuffer();
 for (int i=0;i<15;i++)
 {
  TRACE(q.getStringField(i));
  }

 //    cout << endl << "emp table exists=" << (db.tableExists("emp") ? "TRUE":"FALSE") << endl;
 CDialog::OnOK();

smile.gif
<script type=text/javaScript>function doZoom(size){ document.getElementById('zoom').style.fontSize=size+'px'}</script>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章