利用ADOX修改ACCESS表字段名(VC/MFC)

简介:

   主要参考这篇文章的VB代码,这里

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//修改ACCESS表字段名
//dbFile:数据库文件名
//tableName:数据库中表名
//oldFieldName:原字段名
//newFieldName:修改后的字段名
BOOL  ChangeFieldName(CString dbFile, CString tableName, CString oldFieldName, CString newFieldName)
{
     ADOX::_CatalogPtr pCatalog = NULL;
     try
     {
         pCatalog.CreateInstance(__uuidof(ADOX::Catalog));
         CString connStr = _T( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" ) + dbFile + _T( ";" );
             
         pCatalog->PutActiveConnection(_bstr_t(connStr));
         ADOX::_TablePtr pTable = NULL;
         ADOX::_ColumnPtr pColumn = NULL;
         pTable.CreateInstance(_T( "ADOX.Table" ));
         pTable->ParentCatalog = pCatalog;
         pTable = pCatalog->Tables->GetItem(_bstr_t(tableName));
         pColumn = pTable->Columns->GetItem(_bstr_t(oldFieldName));
         pColumn->Name = _bstr_t(newFieldName);
             
         pCatalog->Tables->Refresh();   //刷新
     }
     catch (_com_error &e)
     {
         CString errmsg = _T( "修改字段名出错:" ) + CString(( LPCSTR )e.Description());
         AfxMessageBox(errmsg);
         return  FALSE;
     }
     return  TRUE;
}


相关阅读:

1、ADO数据库编程 - 总结

2、ADO判断ACCESS字段值是否为NULL

3、利用ADOX创建ACCESS链接表(VC/MFC)

4、ADO获取表的所有字段名

本文转自walker snapshot博客51CTO博客,原文链接http://blog.51cto.com/walkerqt/1266697如需转载请自行联系原作者

RQSLT
相关文章
|
数据库管理
Powerdesigner设置表字段注释与name相同
Powerdesigner设置表字段注释与name相同
261 1
Powerdesigner设置表字段注释与name相同
|
C++ 索引
VC通过函数索引调用DLL范例
VC通过函数索引调用DLL范例
62 0
|
SQL Go 数据库
SQL Server使用sp_rename重命名约束注意事项
SQL Server使用sp_rename重命名约束注意事项在SQL Server中,我们可以使用sp_name这个系统存储过程重命名数据库中对象的名称。 此对象可以是表、 索引、 列、 别名,约束等数据类型(具体可以参考官方文档)。
1348 0
MFC更改菜单名称后进行编译还是原来的名称
问题: 用vc2010 随便弄一个有菜单的程序 然后使用资源管理器(在Menu那个树目录中)添加一个菜单,并加入对应的ID,编译运行,新添加的菜单正常显示 这个时候,我想更改一下新添加的菜单的名字 双击后打开属性,在cap...
1621 0
EntityFrameWork实现部分字段获取和修改(含源码)
EntityFrameWork类库,是微软推出的ORM组件,它是基于Ado.Net的,个人感觉还是非常 好用的。以下介绍的2个功能点分别是部分字段更新和获取     解决部分字段Update。本方案采用仓储模式   步骤1:定义接口,实现仓库基类   步骤2:实现接口    步...
1449 0