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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章