listctrl如何连接sqlite? 如题。用的是CListView。希望在View里面能显示sqlite的表新人学习,希望详细的讲一讲。或者邮箱[email protected]。大侠们帮帮忙。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 #ifdef SQLITE_ENABLE_ICU #udefine SQLITE_ENABLE_ICU#endif/**//*#ifndef SQLITE_CORE #define SQLITE_CORE#endif*/#include <stdio.h>#include "sqlite3.h"#include <iostream>using namespace std;const char* sqlCreate ="CREATE TABLE items(id integer primary key, stocknum float, name varchar(30), price float, status varchar(12) )";const char* sqlSelect ="SELECT stocknum,name,price FROM items ORDER BY stocknum";const char* sqlInsert0="INSERT INTO items VALUES(NULL, 323.123, 'Product01', 565.456, 'IN')";const char* sqlInsert1="INSERT INTO items VALUES(NULL, 423.123, '莉', 665.456, 'IN')";const char* sqlInsert2="INSERT INTO items VALUES(NULL, 523.123, 'Product02', 765.456, 'IN')";int printedHeader=0;static int callback(void *NotUsed, int columns, char **azData, char **azColName)...{ int i; if( printedHeader==0 )...{ printedHeader=1; for(i=0; i<columns; i++)...{ printf("%s ", azColName[i]); } printf(" "); } for(i=0; i<columns; i++)...{ printf("%s ", azData[i] ? azData[i] : "NULL"); } printf(" "); return 0;}int main(int argc, char **argv)...{ cout<<"Begin, please waiting..."<<endl; cout<<"Parameters:"<<endl; for(int k=1; k<argc; k++) cout<<" "<<k<<" -> "<<argv[k]<<endl; cout<<endl; sqlite3 *db; char *zErrMsg = 0; int rc; if( argc!=3 )...{ printf("Usage: %s DATABASE SQL-STATEMENT ", argv[0]); return(1); } rc = sqlite3_open(argv[1], &db); if( rc )...{ printf("Can't open database: %s ", sqlite3_errmsg(db)); sqlite3_close(db); return(1); } rc = sqlite3_exec(db, sqlCreate, NULL, 0, &zErrMsg); if( rc!=SQLITE_OK )...{ printf("Create SQL error: %s ", zErrMsg); sqlite3_free(zErrMsg); } rc = sqlite3_exec(db, sqlInsert0, NULL, 0, &zErrMsg); if( rc!=SQLITE_OK )...{ printf("INSERT SQL 0 error: %s ", zErrMsg); sqlite3_free(zErrMsg); } rc = sqlite3_exec(db, sqlInsert1, NULL, 0, &zErrMsg); if( rc!=SQLITE_OK )...{ printf("INSERT SQL 1 error: %s ", zErrMsg); sqlite3_free(zErrMsg); } rc = sqlite3_exec(db, sqlInsert2, NULL, 0, &zErrMsg); if( rc!=SQLITE_OK )...{ printf("INSERT SQL 2 error: %s ", zErrMsg); sqlite3_free(zErrMsg); } rc = sqlite3_exec(db, argv[2], callback, 0, &zErrMsg); if( rc!=SQLITE_OK )...{ printf("SQL error: %s ", zErrMsg); sqlite3_free(zErrMsg); } sqlite3_close(db); printf("Finished, exit now. "); return 0;}数据改放到CListView里面去就可以了 在MainFrame的构造函数里改变标题栏的颜色//为甚麽内存错误? 关于List Control的选择框问题 请大虾指点一下:关于登陆接管的问题 高手请进,有没有办法把RichEditCtrl控件中的内容转换成图像? ctreectrl问题!!~~ 菜鸟问一个VC6编译问题 请问在ADO中能够直接连接文本文档数据库吗? How to show CFileDialog? 如何用opengl在内存里绘制,而不需要在窗口显示出来 vc++高手请进!!! 剪贴板问题 服务程序的启动问题?
#ifdef SQLITE_ENABLE_ICU
#udefine SQLITE_ENABLE_ICU
#endif/**//*
#ifndef SQLITE_CORE
#define SQLITE_CORE
#endif
*/#include <stdio.h>
#include "sqlite3.h"
#include <iostream>using namespace std;const char* sqlCreate ="CREATE TABLE items(id integer primary key, stocknum float, name varchar(30), price float, status varchar(12) )";
const char* sqlSelect ="SELECT stocknum,name,price FROM items ORDER BY stocknum";
const char* sqlInsert0="INSERT INTO items VALUES(NULL, 323.123, 'Product01', 565.456, 'IN')";
const char* sqlInsert1="INSERT INTO items VALUES(NULL, 423.123, '莉', 665.456, 'IN')";
const char* sqlInsert2="INSERT INTO items VALUES(NULL, 523.123, 'Product02', 765.456, 'IN')";int printedHeader=0;
static int callback(void *NotUsed, int columns, char **azData, char **azColName)...{
int i;
if( printedHeader==0 )...{
printedHeader=1;
for(i=0; i<columns; i++)...{
printf("%s ", azColName[i]);
}
printf(" ");
}
for(i=0; i<columns; i++)...{
printf("%s ", azData[i] ? azData[i] : "NULL");
}
printf(" ");
return 0;
}int main(int argc, char **argv)...{
cout<<"Begin, please waiting..."<<endl;
cout<<"Parameters:"<<endl;
for(int k=1; k<argc; k++)
cout<<" "<<k<<" -> "<<argv[k]<<endl;
cout<<endl;
sqlite3 *db;
char *zErrMsg = 0;
int rc; if( argc!=3 )...{
printf("Usage: %s DATABASE SQL-STATEMENT ", argv[0]);
return(1);
}
rc = sqlite3_open(argv[1], &db);
if( rc )...{
printf("Can't open database: %s ", sqlite3_errmsg(db));
sqlite3_close(db);
return(1);
} rc = sqlite3_exec(db, sqlCreate, NULL, 0, &zErrMsg);
if( rc!=SQLITE_OK )...{
printf("Create SQL error: %s ", zErrMsg);
sqlite3_free(zErrMsg);
}
rc = sqlite3_exec(db, sqlInsert0, NULL, 0, &zErrMsg);
if( rc!=SQLITE_OK )...{
printf("INSERT SQL 0 error: %s ", zErrMsg);
sqlite3_free(zErrMsg);
}
rc = sqlite3_exec(db, sqlInsert1, NULL, 0, &zErrMsg);
if( rc!=SQLITE_OK )...{
printf("INSERT SQL 1 error: %s ", zErrMsg);
sqlite3_free(zErrMsg);
}
rc = sqlite3_exec(db, sqlInsert2, NULL, 0, &zErrMsg);
if( rc!=SQLITE_OK )...{
printf("INSERT SQL 2 error: %s ", zErrMsg);
sqlite3_free(zErrMsg);
} rc = sqlite3_exec(db, argv[2], callback, 0, &zErrMsg);
if( rc!=SQLITE_OK )...{
printf("SQL error: %s ", zErrMsg);
sqlite3_free(zErrMsg); }
sqlite3_close(db);
printf("Finished, exit now. ");
return 0;
}数据改放到CListView里面去就可以了