使用odbc创建excel,插入变量。在学习这个之前先学习一下printf,因为这里的SQL语句的形式比较的类似。
CDatabase database;
CString sDriver="MICROSOFT EXCEL DRIVER (*.XLS)";
CString sExceFile ="E:\\MAPS\\ceshi2\\ceshi.xls";
CString sSQL;
TRY
{ sSQL.Format("DRIVER={%s};DSN='';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=\"%s\";DBQ=%s",sDriver, sExceFile,sExceFile);
if( database.OpenEx(sSQL,CDatabase::noOdbcDialog) )
{
sSQL="CREATE TABLE ceshi(HOLE NUMBER,AREA NUMBER)";
database.ExecuteSQL(sSQL);
for (int i=0;i<hole_num;i++)
{
if (area[i]!=0)
{
sSQL.Format("INSERT INTO ceshi(HOLE ,AREA) VALUES(%i,%i)",i,area[i]);
database.ExecuteSQL(sSQL);
}
}
}
database.Close();
}
CATCH (CMemoryException, e)
{
TRACE1("Excel驱动没有安装: %s",sDriver);
}
END_CATCH
printf() 函数用于输出格式化数据。
printf("格式控制字符串", 输出参数列表)
格式字段的基本形式如下:
% [-] [+] [#] [w] [.p] [l或L] 格式转换符
中括号表示其内的内容为选择项,是可选的。
w 输出的宽度,若实际宽度大于 w 值,则按实际输出
- 在 w 限定的长度内左对齐
+ 对带符号的数据,输出时加“+”、“-”符号,默认时,只负号加“-”
# 当八(十六)进制输出时,前面加 0(0x)
.p 输出精度,浮点数由 p 决定有效位,对字符串,左对齐输出 p个字符
l 或 L 表示长整型或long double 型数据
例如: printf("%d\n",a); 就会打印a的值,这里a是变量,打印a的值之后在打印一个换行符。
SQL语句: sSQL.Format("INSERT INTOceshi(HOLE ,AREA) VALUES(%i,%i)",i,area[i]);后面的两个变量值就会去按顺序替换 %i,实现变量的插入。
需要继续学习的地方:CRecordset 的使用,查询数据库(excel)是否存在某一个表,在创建的表的时候判断表是否存在。