BCB将EXECL数据导入数据库

iq715626205 2011-06-30 03:32:26
急需将EXECL内容通过BCB导入数据库中(ACCESS),,不知怎么操作,,没头绪,,请教各位大牛,,希望给出详细步骤
...全文
93 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhanghelpsgz 2011-06-30
  • 打赏
  • 举报
回复
不用BCB,直接SQL导入OPENDATASOURCE或OPENROWSET 函数

例子:
SELECT * INTO XLImport3 FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'Data Source=C:\test\xltest.xls;Extended Properties=Excel 8.0')...[Customers$]

SELECT * INTO XLImport4 FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\test\xltest.xls', [Customers$])

SELECT * INTO XLImport5 FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\test\xltest.xls', 'SELECT * FROM [Customers$]')


网上找的
缘中人 2011-06-30
  • 打赏
  • 举报
回复
最后就是循环插入数据5楼。
iq715626205 2011-06-30
  • 打赏
  • 举报
回复
不是太懂,,连接数据库我会,,连接Excel照你的代码打,,最后一个步骤可以详细解释下么
缘中人 2011-06-30
  • 打赏
  • 举报
回复
连接成功后
qe:连接excel的query
qa:连接access的query

qa->Close();
qa->SQL->Text="select * from A where 1=2";
qa->Open;

qe->close();
qe->SQL->Text="select * from A";
qe->Open;
while(!qe->Eof)
{
qa->append();
qa->FieldByName("f1")->Value = qe->FieldByName("f1")->Value;
.....
qa->Post();
qe->Next();
}
缘中人 2011-06-30
  • 打赏
  • 举报
回复
连接excel的代码
//excel
String excelFileName;
OpenDialog1->DefaultExt = "EXCEL";
OpenDialog1->FileName = "*.xls";
OpenDialog1->Filter = "EXCEL files (*.xls)";
if (OpenDialog1->Execute())
{

excelFileName = OpenDialog1->FileName;
}
else
{
return;
}
adoconstr=
"Provider=Microsoft.Jet.OLEDB.4.0;"
"User ID=admin;"
"Data Source="+excelFileName+";"
"Mode=Share Deny None;"
"Extended Properties=Excel 8.0;"
"Persist Security Info=False;"
"Jet OLEDB:System database=\"\";Jet OLEDB:Registry Path=\"\";"
"Jet OLEDB:Database Password=\"\";"
"Jet OLEDB:Engine Type=35;Jet OLEDB:Database Locking Mode=0;"
"Jet OLEDB:Global Partial Bulk Ops=2;"
"Jet OLEDB:Global Bulk Transactions=1;"
"Jet OLEDB:New Database Password=\"\";"
"Jet OLEDB:Create System Database=False;"
"Jet OLEDB:Encrypt Database=False;"
"Jet OLEDB:Don't Copy Locale on Compact=False;"
"Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False"
;
dm->ADOConnection1->Close();
ADOConnection1->ConnectionString = adoconstr;
dm->ADOConnection1->Open();
ADOCommand1->Connection = ADOConnection1;
ADOQuery1->Connection = ADOConnection1;
iq715626205 2011-06-30
  • 打赏
  • 举报
回复
能给出详细步骤吗,,代码,,没接触过这个,,有效的话立即给分
缘中人 2011-06-30
  • 打赏
  • 举报
回复
用两个ado连接
一个ado连接excel文件
一个连access数据库,access中创建好表。
循环插入数据。

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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