VC6.0 ODBC 直接操作EXCEL的问题!
请教各位大侠,我参考了网上下载的一个通过ODBC 直接来操作EXCEL的程序,可是我希望往EXCEL里面加入一条记录的时候,总是提示“操作必须使用一个可更新的查询”,不知道是什么原因!我是做硬件驱动的,VC也是自己才刚刚学,问题可能很初级,呵呵,大家别笑话我,代码下下面!
... //这里省略了一些得到路径的代码
// 创建进行存取的字符串
sDsn.Format("ODBC;DRIVER={%s};DSN='';DBQ=%s", sDriver, sFile);
// 打开数据库(既Excel文件)
database.Open(NULL, false, false, sDsn);
//执行插入操作
//sql="insertinto数据表(字段1,字段2,字段3…)values(值1,值2,值3…)"
sSql = "INSERT INTO Exceldemo (Name,Age,Address) VALUES ('李理解1',27,'湖南')";
database.ExecuteSQL(sSql);
sSql = "UPDATE Exceldemo Name='李理解1',Age=27,Address='湖南'";
database.ExecuteSQL(sSql);
运行的时候提示“操作必须使用一个可更新的查询”,自己google了很久了,都是讲ODBC操作ACCESS的,直接讲操作EXCEL的总是那几个例子!
谢谢!
--------------------编程问答-------------------- 进来学习的,友情up --------------------编程问答-------------------- 参考:
通过ODBC直接创建Excel文件并在表中插入数据(暂定文件名:Demo.xls) //创建并写入Excel文件
void CRWExcel::WriteToExcel()
{
CDatabase database;
CString sDriver = "MICROSOFT EXCEL DRIVER (*.XLS)"; // Excel安装驱动
CString sExcelFile = "c:\\demo.xls"; // 要建立的Excel文件
CString sSql;
TRY
{
// 创建进行存取的字符串
sSql.Format("DRIVER={%s};DSN='''';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=\"%s\";DBQ=%s",
sDriver, sExcelFile, sExcelFile);
// 创建数据库 (既Excel表格文件)
if( database.OpenEx(sSql,CDatabase::noOdbcDialog) )
{
// 创建表结构(姓名、年龄)
sSql = "CREATE TABLE demo (Name TEXT,Age NUMBER)";
database.ExecuteSQL(sSql);
// 插入数值
sSql = "INSERT INTO demo (Name,Age) VALUES (''徐景周'',26)";
database.ExecuteSQL(sSql);
sSql = "INSERT INTO demo (Name,Age) VALUES (''徐志慧'',22)";
database.ExecuteSQL(sSql);
sSql = "INSERT INTO demo (Name,Age) VALUES (''郭徽'',27)";
database.ExecuteSQL(sSql);
}
// 关闭数据库
database.Close();
}
CATCH_ALL(e)
{
TRACE1("Excel驱动没有安装: %s",sDriver);
}
END_CATCH_ALL;
}
--------------------编程问答-------------------- 我也想了解,谢谢LZ.
补充:.NET技术 , VC.NET