我使用ODBC建立了一个EXCEL文件的数据库,现在我想要删除EXCEL数据库中的一个字段,代码如下:
database.OpenEx(sDsn,CDatabase::noOdbcDialog);
sSql.Format("ALTER TABLE xiti DROP COLUMN %s",z);
database.ExecuteSQL(sSql);
database.Close();
其中z表示我要删除的字段。
目的:删除指定字段及其所有的值。
结果:如图所示。这样操作的确可以删除某个字段,但这个字段的值却无法删除。而且这个字段的值会被基它字段继承。而且最后一列的字段会自动复制出一个来。当我新建一个字段时,最后一个字段自动消失替换为我新建的字段。如下图所示。

解决方案 »

  1.   

    应该是用OLE等操作EXCEL,先删除EXCEL这列.但EXCEL的数据是不是又存在一个数据库比如ACCESS库,如果是这样,应该是通过ODBC操作数据库,把数据读出来用EXCEL显示,当想删除EXCEL某个字段时,通过OLE等操作EXCEL,然后通过ODBC删除数据里的这个字段,并使EXCEL和数据库的数据保持一致
      

  2.   

    不是,我是直接使用ODBC生成的一个数据库文件,这个数据库文件是xls格式的,也就是一个Excel文件。所有数据都存在Excel数据库中的。现在想删除数据库中指定的字段及该字段的所有的值,会出现我所说的那种现象。
      

  3.   

    也许是没更新EXCEL显示的数据,也就是说只是后台更新字段及对应的值,但显示界面没更新(EXCEL显示数据还没同步变).看看有没有更新EXCEL显示的方法,或者删除字段及对应的值后,清除EXCEL表格里的数据,再重新显示最新的数据
      

  4.   

    这种现象好象是EXCEL的字段没和数据库的字段绑定在一起,也就是说数据库的字段不是和EXCEL字段同步改变.如果是这样,当改变数据库的字段后,就需要手动改变EXCEL显示的字段及对应的值.设法找找如何同步数据库字段及值和EXCEL显示的字段及值,找不到就手工更新吧