社区
数据库相关
帖子详情
菜鸟,请教大家,如何将adoDataSet里面的数据清空?
tjkjdx1
2005-04-26 09:44:31
情况如下:
1.首先,我将excel表格导入,命名为tab1
2.其次,将betteradodataset控件与tab1相连,select * from tab1
3.但是,当我再次导入另外的excel的时候,betteradodataset中的fields还是上次哪个excel的字段,
并没有变化,
代码如下:
...全文
185
9
打赏
收藏
菜鸟,请教大家,如何将adoDataSet里面的数据清空?
情况如下: 1.首先,我将excel表格导入,命名为tab1 2.其次,将betteradodataset控件与tab1相连,select * from tab1 3.但是,当我再次导入另外的excel的时候,betteradodataset中的fields还是上次哪个excel的字段, 并没有变化, 代码如下:
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tjkjdx1
2005-04-27
打赏
举报
回复
up~~~
tjkjdx1
2005-04-26
打赏
举报
回复
up~~~~~~~~~
tjkjdx1
2005-04-26
打赏
举报
回复
我在betteradodataset中已经写死:select * from tab1
然后在导入完以后,开始提取数据
with betteradodataset do
begin
close;
open;
end;
可是数据总是不能刷新,不知为什么?我想可能是导入excel那段代码的问题,不太明白,请高手函授~不胜感激
tjkjdx1
2005-04-26
打赏
举报
回复
这是导入excel的代码:
FDN := OpenDialog1.FileName;
FN := Copy(FDN, LastDelimiter('\', FDN) + 1, Length(FDN) - LastDelimiter('\', FDN));//文件名称
FN := Copy(FN, 1, Length(FN) - 4); //去掉了后缀 .xls
FDP := Copy(FDN, 1, LastDelimiter('\', FDN) - 1);//文件所在路径
Reg := TRegistry.Create;
with Reg do
begin
RootKey := HKEY_LOCAL_MACHINE;
if OpenKey('Software\ODBC\ODBC.INI\ODBC Data Sources', True) then
WriteString(dsn, 'Microsoft Excel-Treiber (*.xls)')
else
begin
Application.MessageBox('ODBC 初始化错误', pChar('Information'), mb_ok +
MB_ICONEXCLAMATION);
exit;
end;
CloseKey;
//-----------------------------------------------------------------------
if OpenKey('Software\ODBC\ODBC.INI\' + dsn, True) then
begin
WriteString('Driver', 'C:\WINNT\System32\odbcjt32.dll');
WriteString('DBQ', FDN);
WriteString('DefaultDir', FDP);
WriteInteger('DriverId', 790);
WriteString('FIL', 'excel 8.0');
WriteInteger('ReadOnly', 1);
WriteInteger('SafeTransactions', 0);
WriteString('UID', '');
end
else
begin
Application.MessageBox('ODBC 初始化错误,无法添加数据原名称', pChar('Error'),
mb_ok + MB_ICONEXCLAMATION);
exit;
end;
CloseKey;
//------------------------------------------------------------------------
if OpenKey('Software\ODBC\ODBC.INI\' + dsn + '\Engines\Excel', True) then
begin
WriteString('ImplicitCommitSync', '');
WriteInteger('MaxBufferSize', 8);
WriteInteger('Threads', 3);
WriteString('UserCommitSync', 'Yes');
WriteInteger('FirstRowHasNames', 1);
//Application.MessageBox('用户信息注册成功', pChar('SUCCEED'),
// mb_ok + mb_iconinformation);
end
else
begin
Application.MessageBox('ODBC 初始化错误:无法设置驱动程序信息', pChar('Error'), mb_ok +
MB_ICONEXCLAMATION);
exit;
end;
//------------------------------------------------------------------------
CloseKey;
Free;
end;
tjkjdx1
2005-04-26
打赏
举报
回复
不胜感激~~
tjkjdx1
2005-04-26
打赏
举报
回复
差不多,
意思就是:
1.先导入excel1
2.后导入excel2,但是当我getfieldnames的时候,显示的所有字段都是excel1中的字段,并没有excel中的字段
我怀疑是不是注册表没有清干净?
还是什么原因?
busheng
huanyi
2005-04-26
打赏
举报
回复
你是不是说第一次导入没问题,第二次导入后还有第一次的数据?
如果是这样,试试在导入第二次时用下面代码
with betteradodataset do
begin
close;
SQL.Clear;
SQL.Text := 'select top 0 * from tabl';
open;
end;
如果还是不行,你就要自己写代码控制了。
tjkjdx1
2005-04-26
打赏
举报
回复
up~~~~
thanks
surpassable
2005-04-26
打赏
举报
回复
帮你顶~~~~~~~
delphi使用
ado
dataset
调用远程xml打印
delphi使用
ado
dataset
调用远程xml打印
ADO
DataSet
.zip
例子
ADO
DataSet
.zip D:\code\DotNet\
ADO
DataSet
.zip
delphi
ADO
DATASET
单行刷新
支持单行刷新,在记录数大又只需求当前行刷新的时候可以用这个方法,不影响速度.
Synthetic_Chinese_String_
Dataset
中文识别
数据
集 12
Synthetic_Chinese_String_
Dataset
中文识别
数据
集 1 for https://gitee.com/chenyang918/Lets_OCR
Delphi 在记录集中遍历大量
数据
时如何提高遍历速度.rar
Delphi 在记录集中遍历大量
数据
时如何提高遍历速度,本实例 通过插入
数据
、
ADO
常规方式、
ADO
断开关联方式和删除
数据
的方式、Recordse方式综合演示如何在记录集中遍历大量
数据
时提高遍历速度,例子较实用,参考性比较...
数据库相关
2,497
社区成员
88,445
社区内容
发帖
与我相关
我的任务
数据库相关
Delphi 数据库相关
复制链接
扫一扫
分享
社区描述
Delphi 数据库相关
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章