CVSTRACMAIL SQLITE DEV 总结
2-9-2005-00:13 Wed [Dev开发]从网上下载了一个SQLITEBROWSER,据说是可以对SQLITE数据库进行可视化数据库操作的。但是不知道为什么,我从CVSTRAC里面拷贝出来的DB文件,无论是使用SQLITE3还是使用BROWSER还是不能正常打开,报告不是正常的数据库。
根据奇怪的是如果我使用SQLITE3新建一个数据库,0K的文件,然后使用SQLITEBROWSE进行打开,然后关闭,再打开CVSROOT.DB,那么就很正常,而我使用代码则不能正常操作。
打开DB文件一看,SQLITE2.1,难道是这个原因,使用SQLITE2.8就可以正常打开了。
这也是我不喜欢开源软件的一个原因,变动有时候太大了。有时候大家责难微软的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, prio
rity, 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();