如何在DELPHI中实现对SQL SERVER功能的控制(实现对数据库中特定数据表的导出功能)200分(200分)

  • 主题发起人 主题发起人 bitwomen
  • 开始时间 开始时间
B

bitwomen

Unregistered / Unconfirmed
GUEST, unregistred user!
本人现在正在开发一段小程序,其中涉及到了在delphi中对sql server数据库一些功能的直
接调用过程,如通过一个按钮直接实现对sql derver中对某个数据表按照文档的格式输出的功
能。本人使用的数据库为 sql server2000 delphi版本为6.0。希望各位高手能够指教。谢谢!
 
我也有同樣的問題,灌注
 
给你一个大概的思路:
在控制面板中建立一个odbc数据源,驱动选择microsoft text driver(*.txt,*.cvs)
然后使用TBatchMove将sql sever中表的数据copy过去.
 
谢谢windbell!我现在马上试验一下
 
TBatchMov控件的相关属性如何设置呢?是直接建立一个数据表还是通过调用的方式呢?
Such as Destination and Source property,As I am not familiar with this
component,can you explain it to me particulary?Thank you for your kind.
 
TO BITWOMEN:
我给你个程序,请联系:
MIKE6912@SINA.COM
 
To MikeZ:
Thank you for your help!But in your example the "tablename" property must be
decided at first,now my question is that I want to use a live_table to set the
selected Query( contains ) as the tablename.Thank you sincerely.
我现在的问题是想通过动态表的方式将选定的内容输出,具体的过程是建立一个RATIOBOX
,通过点击其中不同的选项内容实现不同的输出。Query的特征是通过选择数据表中符合一些
特定条件的内容来定义的。比如:开始出现界面“请选择输出的部件范围”其中包括:车身、
发动机、底盘等选项,在点击不同选项的同时可以实现调用不同的内容,其中以上不同范围
中的部件都包含在部件表中。希望能够得到您的帮助。另外,为什么输出的时候不能够定义输
方式呢?以文本格式输出。
 
to bitwomen:
不太清楚你说的“定义输出方式”是什么意思。如果同我给你的demo中的格式化输出一致,那完全可以解决用query替代table.
只要把demo中的table换成query就行!
不过对于标题或每个字段长度的定义,如果用query,最好你能在数据库中建立一张表,定义输出格式。
输出格式简单点,可以认为是固定字段长度的输出;复杂些,还可考虑分隔符的定义,以及其他一些格式控制,当然利用主从表。
就按简单式的说明吧:
ID INT
Caption varchar(32)
FieldName varchar(32)
DataType INT
Size INT
FormatString varchar(32)
这些基本信息就足以用我的demo改进了!

如果你的格式化输出是如同单据一样复杂,那就是另外一个讨论。希望能给你帮助!
 
读出数据,然后调用SaveToFile
调用LoadFromFile,然后在导入数据时控制就可以了。
 
现在输出的格式不是文本格式,同时输出数据时应该根据不同的选择内容可以实现相关数据
的详细程度也同时发生变化,例如如果单独是输出系统中所包括的部件,就不需要输出详细
的内容(这些输出信息会在另外的一套程序中调用,同时是以树状结构出现)输出的格式必
须是下列这种方式:
“部件编号”;“部件名称”
如果输出选项为系统中部件的详细信息就必须在输出的文本中详细的列出相关的信息。如:
生产厂家;生产日期;记录人员;等等
另外,我还想实现以excel,access方式数据数据,因为在另外的一套程序中可以调用这些格
式的文件。希望得到您的帮助。谢谢!
 
to bitwomen:
首先查询出结果集,得出结果集后还不能用我给你的方法输出吗?
“另外,我还想实现以excel,access方式数据数据”是什么意思?是输出数据吧?!
想实现,一样必须首先得出结果集,装到excel,access中有很多方法可以选择,看你熟悉什么了!
1、用batchmove。方便简单,但只能在bde下执行。
2、分布式查询,建立链接数据库。
3、DTS。较复杂,必须了解DTS对象模型,但功能cool!
4、one by one, record to record. 最笨!建立sql 2000, excel or access的数据连接,one fetch one insert,最慢,但也有好处——可以写进度条。
 
首先谢谢MIKEZ的积极关注!
但是由于本人对于TBatchMov控件的相关属性设置不胜了解,是直接建立一个数据表还是
通过调用的方式呢?能够给我一个例子吗?另外我使用的既有BDE又有ADO数据库引擎。我
的工作量主要是开发了一套数据分析算法,然后通过动态连接库进行调用。利用DELPHI和SQL 主要是实现数据的
输入和各种格式之间的转换。所以对于一些不经常使用的控件了解很少,非常感谢能够得
这么多热心朋友的帮助,再次诚意的谢谢!!
 
使用TBatchMov要先建立源和目的数据表,在delphi的帮助中有例子,可以看看
 
多人接受答案了。
 
后退
顶部