在Delphi中怎么才能把delphi数据库编程实例中的表格导出来变成表格,横坐标是时间,纵

(window.slotbydup=window.slotbydup || []).push({
id: '2081942',
container: s,
size: '1000,60',
display: 'inlay-fix'delphi中怎么进行对数据库中表格进行导入导出???_百度知道
delphi中怎么进行对数据库中表格进行导入导出???
提问者采纳
行依次将数据填写到excel或者text里推荐一种第三方组件,并且在速度上也有很大的提升的,对比导入的格式中的标题和当前表格中显示的一致,出现那种“±”的形式会变成“,只要将其绑定数据集!不过目前我使用中发现SMImport导入excel的时候,SMIMPORT:循环行循环列:循环列、列的方式要简单很多,开始行,要比循环行、导入的模式以及导入的源文件名就可以了,根据字段类型将数据转换赋值3、SMExport 导入导出.导出1.首先需要通过ODAC或者ADO等方式将数据库某张表进行关联(DBGRID显示)2.导入
提问者评价
其他类似问题
为您推荐:
导入导出的相关知识
其他2条回答
控件本身就多种数据库格式可以导出,可以使用第三方组件,把使用tms的DBADVgrid连接到数据库是的
最简单的方式就是ADOQUERY获取数据后,用savetofile导出,导入时用ADOQUERY的loadfromfile就可以了
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁共有 803 人关注过本帖
标题:delphi 当前日期与数据库表中的列日期比较问题,请指教
等 级:新手上路
&&已结贴√
&&问题点数:20&&回复次数:2&&&
delphi 当前日期与数据库表中的列日期比较问题,请指教
我用SQL数据库建立一个表,其中有两列数据,一列是日期(检验日期),一列是次数(使用次数),
想根据这两个条件做判断是否需要检验,
当前日期 减 数据库中的日期大于3个月的或使用次数大于100的,在新增的字段中显示“是”
否则显示“否”
本人刚学DELPHI,望热心人指教。
现在只学会了连接数据库显示数据库中的表。
搜索更多相关主题的帖子:
等 级:业余侠客
帖 子:61
专家分:219
&&得分:20&
我也还在学习中,还有好多控件要学···
等 级:版主
帖 子:30
专家分:105
if (dbdate&IncMonth(now,-3)) or (dbcount&100) then 新增字段.asboolean=True
else 新增字段.asboolean=False
版权所有,并保留所有权利。
Powered by , Processed in 0.021932 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved一、通过OLE方式创建
相信各位都用通过OLE方式访问Word、Excel文件的经历,具体我不说太多,直接把具体代码写出来就完了
在引用部分加入:
实现部分:
procedure TFormOffice.BitBtn1Click(Sender: TObject);
CreateAccess:OleV
CreateAccess:=CreateOleObject('ADOX.Catalog');
CreateAccess.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Aceco.mdb');
1、在C:\下创建Aceco.
2、是Access2000格式,用Access97打不开;
3、系统需安装MDAC,这是好消息,客户不需安装Access也可以
二、通过DBEngine创建
这才是关键中的关键,是我一定要写出来的原因!
各位是否还记得安装Delphi的时候,如果你选择自定义安装(我一般用Delphi写控件,所以当然是越小越好),会有很多安装选项,让你选择Access97或Access2000,还有MDAC等,问题就在这里!Delphi5.0中早就封装了现成的类,只是大家都没有注意而已它位于:
$Delphi5\Imports
其中有DAO97.DCU文件,它是通过DAO350.DLL来完成的,其中的定义部分和DAO350.DLL如出一辙!OK,到现在,所有的一切都明白了(可惜我花了一天时间!)。那么具体实现起来就太方便了,具体过程如下:
在引用部分加入:
uses DAO97;
实现部分:
procedure TFormOffice.BitBtn4Click(Sender: TObject);
Engine:DBE
Engine:=CoDBEngine.C
Engine.CreateDatabase('c:\NewAccess.mdb',';LANGID=0x0804;CP=936;COUNTRY=0;',dbEncrypt);
1、在C:\下创建NewAccess.
2、语言国家是简体中文;
3、压缩整理数据库用pactDatabase('c:\invoice.mdb','c:\God.mdb','',0,'');就是将c:\invoice.mdb压缩整理成c:\God.mdb,剩下的只是将c:\invoice.mdb删除(DeleteFile('c:\invoice.mdb');),然后将c:\God.mdb重新命名(RenameFile('c:\God.mdb','c:\invoice.mdb');)即可。
三、通过Access97创建,然后拷贝
四、通过ODBC的API函数创建
1、通过OLE方式创建时如果是Access97,那么可能是CreateAccess.Create('Provider=Microsoft.Jet.OLEDB.3.5.1;Data Source=c:\Aceco.mdb');,嘿嘿,小弟对VB实在是一窍不通,还望各位再测试一下(可以需要MDAC比较低的版本)。
2、关于CreateDatabase中国家的设置:
Module LanguageC // DAO predefined constants.
dbLangArabic = ;LANGID=0x0401;CP=1256;COUNTRY=0;
dbLangCzech = ;LANGID=0x0405;CP=1250;COUNTRY=0;
dbLangDutch = ;LANGID=0x0413;CP=1252;COUNTRY=0;
dbLangGeneral = ;LANGID=0x0409;CP=1252;COUNTRY=0;
dbLangGreek = ;LANGID=0x0408;CP=1253;COUNTRY=0;
dbLangHebrew = ;LANGID=0x040D;CP=1255;COUNTRY=0;
dbLangHungarian = ;LANGID=0x040E;CP=1250;COUNTRY=0;
dbLangIcelandic = ;LANGID=0x040F;CP=1252;COUNTRY=0;
dbLangNordic = ;LANGID=0x041D;CP=1252;COUNTRY=0;
dbLangNorwDan = ;LANGID=0x0414;CP=1252;COUNTRY=0;
dbLangPolish = ;LANGID=0x0415;CP=1250;COUNTRY=0;
dbLangCyrillic = ;LANGID=0x0419;CP=1251;COUNTRY=0;
dbLangSpanish = ;LANGID=0x040A;CP=1252;COUNTRY=0;
dbLangSwedFin = ;LANGID=0x040B;CP=1252;COUNTRY=0;
dbLangTurkish = ;LANGID=0x041F;CP=1254;COUNTRY=0;
dbLangJapanese = ;LANGID=0x0411;CP=932;COUNTRY=0;
dbLangChineseSimplified = ;LANGID=0x0804;CP=936;COUNTRY=0;
dbLangChineseTraditional = ;LANGID=0x0404;CP=950;COUNTRY=0;
dbLangKorean = ;LANGID=0x0412;CP=949;COUNTRY=0;
dbLangThai = ;LANGID=0x041E;CP=874;COUNTRY=0;
dbLangSlovenian = ;LANGID=0x0424;CP=1250;COUNTRY=0;
3、关于CreateDatabase中数据库版本信息
Enum DatabaseTypeE
dbVersion10 = 1;
dbEncrypt = 2;
dbDecrypt = 4;
dbVersion11 = 8;
dbVersion20 = 16;
dbVersion30 = 32;
4、其它方面,希望各位再加补充。
&**********************************************************************************************************
方法一示例:通过OLE方式创建数据库和表。
procedure Tform1.CreateDb(DbName: string);
Dbnew:OleV
if FileExists(DbName) then
if MessageBox(Application.Handle,PChar('数据库 '
+ DbName + ' 已存在!'+ #13#10 +'是否覆盖?'),
'警告',MB_YESNO + MB_ICONWARNING) = idN
if not DeleteFile(DbName) then
MessageBox(Application.Handle,
PChar('不能删除数据库:' + DbName),
'错误',MB_OK + MB_ICONERROR);
dbnew:=CreateOleObject('ADOX.Catalog');
dbnew.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + DbName);
adoq1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='
+dbname+';Persist Security Info=False';
adoq1.SQL.Text := 'Create Table 测试 (ID INT not null,'
+'姓名 char(8) not null,年龄 INT not null)';
adoq1.ExecSQL;
adoq1.SQL.Text := 'Create UNIQUE Index IDIndex ON 测试 (ID)';
adoq1.ExecSQL;
adoq1.SQL.Text := 'Create Index xmIndex ON 测试 (姓名)';
adoq1.ExecSQL;
adoq1.SQL.Text := 'Create Index nlIndex ON 测试 (年龄)';
adoq1.ExecSQL;
MessageBox(Application.Handle,
PChar('数据库:' + DbName+'创建完成'),
'OK',MB_OK + MB_ICONWARNING);
//创建数据库DbName并且创建表:测试。
阅读(...) 评论() &在sqlserver 2000中 怎么在表EX2_TaskList中查找一条State为1的记录,将其State由1置2 - Delphi当前位置:& &&&在sqlserver 2000中 怎么在表EX2_TaskList中查找一在sqlserver 2000中 怎么在表EX2_TaskList中查找一条State为1的记录,将其State由1置2&&网友分享于:&&浏览:4次在sqlserver 2000中 如何在表EX2_TaskList中查找一条State为1的记录,将其State由1置2?要求是-------在表EX2_TaskList中查找一条State为1的记录,将其State由1置2、StartTime置数据库时间(格式YYYYMMDDHHMMSSZZZ毫秒级,下同)、Info置当前线程ID &我使用的是
select top 1 * from Ex2_TaskList where State=1但是要如何只对符合条件的这一行中的字段值进行修改呢?------解决方案--------------------
Delphi(Pascal) code
update Ex2_TaskList set State=2
where (State=1)
and TaskID=(select top 1 TaskID from Ex2_TaskList where State=1)
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有

我要回帖

更多关于 delphi 数据库 教程 的文章

 

随机推荐