如何用vc实现数据格式转换

zhengoodman 2003-03-21 02:24:57
本人的毕业设计题目是实现把excel或access或其他数据文件转换成mssql文件,并且能只转换表单中指定的行。
不知能否用vc的MFC实现,各位若有相关的开发经验或好的建议请不吝指教。最好告诉我要用到那些函数我好查帮助。若知道这方面的书籍也请推荐。
还有,脱离excel或access环境,一定要用到OLE技术吗?
我是只要存到数据库就行,但每个表的属性不同,如何动态获取,因为我要转换指定行,我想需要知道表的属性。还有用vc实现,应该先用个函数读取excel或access的内容,然后转化为mssql的数据,是这样吧,但我不知道用什么函数读取数据。
请高手指教。
...全文
38 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
天限天空 2003-03-23
  • 打赏
  • 举报
回复
获得表属性 用 ADOX
CDataSource dataSource;
dataSource.Open();
BSTR connectString;

dataSource.GetInitializationString(&connectString,true);
ConnectionStr = CString(connectString);

this->m_TableList.ResetContent();
ADOX_DB.CreateInstance(__uuidof(ADOX::Catalog));
try{
ADOX_DB->PutActiveConnection( _bstr_t(ConnectionStr) );
int tableCount = ADOX_DB->Tables->Count;
for(int i=0;i<tableCount;i++)
{//得到表对象指针
ADOX::_TablePtr tablePtr = (ADOX::_TablePtr)ADOX_DB->Tables->GetItem((long)i);
ADOX::PropertiesPtr tableProperties = (ADOX::PropertiesPtr)tablePtr->GetProperties();
ADOX::ColumnsPtr colunmsPtr = tablePtr->GetColumns();
CString tableName = (BSTR)tablePtr->Name;

int colunmCount = colunmsPtr->Count;
m_TableList.AddString(tableName);

}

} catch(_com_error &e) {
AfxMessageBox(e.Description());
}
天限天空 2003-03-23
  • 打赏
  • 举报
回复
我知道的方法有2种,
1.一种是直接用 mssql 中提供的 DTS ,这种方法很简单, vc 只是一个执行程序的外壳
看 sqlserver 的关于DTS的帮助文档
2.直接用 ado 来操作 excel access
excel 麻烦些, 连接字符串为
"Data Provider=MSDASQL.1;driver=Microsoft Excel Driver (*.xls);DBQ=" & App.Path & "\Excels\book2.xls"
access 的连接网上资料多的很

如果要设计校麻烦的操作, 参造
http://support.microsoft.com/default.aspx?scid=KB;en-us;q246335
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q178749
vb 下很简单
luocr 2003-03-23
  • 打赏
  • 举报
回复
shide
ruixp 2003-03-23
  • 打赏
  • 举报
回复
newkey007(无限天空)说的方法好像在编程中更常用
diabloqin 2003-03-23
  • 打赏
  • 举报
回复
study

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧