怎样用程序查询和修改已经定义好的ACCESS数据库结构,比如删除某个字段,增加一个字段等 怎样用ADO实现先检索出一个ACCESS数据库结构,然后将修改其结构,比如删除某个字段,增加几个字段等! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我程序中的一段代码 CDaoDatabase *ppDatabase = new CDaoDatabase;//连接数据库 // failed to allocate // now create the database object with error checking ppDatabase->Create("c:\\Database.mdb", dbLangGeneral, dbVersion30); CDaoTableDef td( ppDatabase ); try { td.Create( "操作人员", 0, NULL, NULL);//建立新表 td.CreateField( "操作人员ID", dbText, 20, 0 );//建立"操作人员ID"字段 td.CreateField( "操作人员密码", dbText, 20, 0 );//建立"操作人员密码"字段 td.CreateField( "操作人员权限", dbInteger, 3, 0 );//建立"操作人员权限"字段 td.Append(); td.Close(); } catch( CDaoException* e ) { // Do nothing. Used to catch security violations opening tables. e->Delete( ); } td.Close(); ppDatabase->Close();具体详情可参阅有关文档资料。 用_ConnectionPtr对象的Execute方法执行一个SQL语句,比如要加一个字段:Excecute(_bstr_t("alter yourtable add newfield varchar(50)")) ACCESS支持VARCHAR吗?应该是CHAR吧。但其他类型呢?上午我也做了这样的工作:_CommandPtr cmd = NULLCString strSql;if(FAILED(cmd.CreateInstance("ADODB.COMMAND"))) return FALSE;try{ strSql.Format("alter table %s add %s char(50)", yourTable, yourField); cmd->ActiveConnection = m_ConnectDB; cmd->CommandText = (LPCTSTR)strSql; cmd->Excute(NULL, NULL, 0); strSql.Format("alter table %s drop column %s ", yourTable, yourField); cmd->CommandText = (LPCTSTR)strSql; cmd->Excute(NULL, NULL, 0);}catch(_com_error &e){} 1、用ClassWizard建一个新类,选择基类为CRecordSet;2、按OK后,会出现一个接口选择框,有Db-library,ODBC,Dao三种类型;你可以选择DAO;3、然后选择mdb文件,然后再选择数据库中的表。4、最后生成的类中就自然包含了数据库表的结构了。又,如果要通过SQL语句查询数据库表的结构请参阅手册,我手头现没有。sorry! 我也没有SQL Server手册.一定有高人知道 请教高手tcp洪泛攻击的问题 VS2008生成的对话框为什么不能最上层显示 设置了一个数组用来接收数据的,我怎么来追踪他是否接受到数据了 用MFC写的单机游戏,中间件是MFC吗? 请帮忙提供思路:socket & ftp 代理服务器的工作原理是怎样的,就像CCPROXY这类代理软件 最近的作品 构造的问题~ c++有什么提高的书? 请问怎样用SOCKET实现PING的功能,是发一个ICMP包吗?请高手指点指点小女子 关于VC中的函数指针的问题 程序运行时如何知道自己的名字?
CDaoDatabase *ppDatabase = new CDaoDatabase;//连接数据库 // failed to allocate // now create the database object with error checking
ppDatabase->Create("c:\\Database.mdb", dbLangGeneral, dbVersion30); CDaoTableDef td( ppDatabase );
try
{
td.Create( "操作人员", 0, NULL, NULL);//建立新表
td.CreateField( "操作人员ID", dbText, 20, 0 );//建立"操作人员ID"字段
td.CreateField( "操作人员密码", dbText, 20, 0 );//建立"操作人员密码"字段
td.CreateField( "操作人员权限", dbInteger, 3, 0 );//建立"操作人员权限"字段
td.Append();
td.Close();
} catch( CDaoException* e )
{
// Do nothing. Used to catch security violations opening tables.
e->Delete( );
}
td.Close();
ppDatabase->Close();
具体详情可参阅有关文档资料。
Excecute(_bstr_t("alter yourtable add newfield varchar(50)"))
但其他类型呢?
上午我也做了这样的工作:
_CommandPtr cmd = NULL
CString strSql;
if(FAILED(cmd.CreateInstance("ADODB.COMMAND"))) return FALSE;
try{
strSql.Format("alter table %s add %s char(50)", yourTable, yourField);
cmd->ActiveConnection = m_ConnectDB;
cmd->CommandText = (LPCTSTR)strSql;
cmd->Excute(NULL, NULL, 0);
strSql.Format("alter table %s drop column %s ", yourTable, yourField);
cmd->CommandText = (LPCTSTR)strSql;
cmd->Excute(NULL, NULL, 0);
}
catch(_com_error &e){}
2、按OK后,会出现一个接口选择框,有Db-library,ODBC,Dao三种类型;你可以选择DAO;
3、然后选择mdb文件,然后再选择数据库中的表。
4、最后生成的类中就自然包含了数据库表的结构了。
又,如果要通过SQL语句查询数据库表的结构请参阅手册,我手头现没有。sorry!
一定有高人知道