社区
数据库相关
帖子详情
如何在运行时调用ADO的那个对话框?
wandering_hawk
2005-07-13 10:25:01
如何在程序运行时调用ADO的那个build connectionstring的那个对话框?
这样可以让用户选择数据库。
...全文
182
12
打赏
收藏
如何在运行时调用ADO的那个对话框?
如何在程序运行时调用ADO的那个build connectionstring的那个对话框? 这样可以让用户选择数据库。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
opqhjb_2002
2005-07-14
打赏
举报
回复
快捡经验呀!
giveusomecolor
2005-07-14
打赏
举报
回复
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, StdCtrls,adoconed;(最后一个为新添加的--->>adoconed)
添加一个ADOConnection1和Button1
procedure TForm1.Button1Click(Sender: TObject);
begin
EditConnectionString(ADOConnection1);//Here
end;
OK!!
僵哥
2005-07-13
打赏
举报
回复
其实ADOConnection有个Properties[PropertyIndex]属性,用起来相对比较简单并且也方便,比如属会了一个服务器名或者数据库名,或者用户名,或者密码,都可以直接对其进行赋值即可,并且也不至于改变原来的连接串的其它内容。
wandering_hawk
2005-07-13
打赏
举报
回复
现在已经找到一个办法了,我认为很不错,用起来很方便,不用直接去连oledb32.dll文件。
*********************************以下内容为转载***************************
新建一个ActiveX Library,再新建一个COM Object,起个名字MSDASC。保存。
然后选菜单View->Type Library,在右边Uses页中点右键,选择查看所有类型库,找到Microsoft OLE DB Serivce Component 1.0 Type Library,保存。OK,在你的保存目录下有了一个MSDASC_TLB.pas,拷出来,其它的可以删除啦:)
再新建一个Delphi工程,保存。
添加我们刚才的文件MSDASC_TLB.pas到工程,在主窗体中uses MSDASC_TLB,我们要用的是其中的IDataSourceLocator接口。
添加一个按钮,一个ADOConnection。代码如下
procedure TForm1.Button1Click(Sender: TObject);
var
DataSourceLocator:IDataSourceLocator;
ADOConn:IDispatch;
begin
DataSourceLocator := CoDataLinks.Create; //创建接口指针
ADOConn := DataSourceLocator.PromptNew; // 打开配置窗体
self.ADOConnection1.ConnectionObject := IDispatch(ADOConn) as _Connection;//赋值给ADOConnection
showmessage(self.ADOConnection1.ConnectionString); //打出来看看对不对
DataSourceLocator := nil; //记着释放啊
end;
取到字符串啦,你可以自己加密,你可以存到你能读到的任何地方。
打开MSDASC_TLB.pas,你可以看到IdataSourceLocator接口还有PromptEdit方法,看名字就知道是干什么的啦,参数类似,就不多说啦。
********************************************************************************
大家还有别的方法吗,说出来,我送分了
wandering_hawk
2005-07-13
打赏
举报
回复
smiler007(笑一笑)
你说的有道了,呵呵,我没考虑到用户的可操作性,只是想用起来方便。
smiler007
2005-07-13
打赏
举报
回复
嗯....也许你认为的有道理....只是觉得那个对话框对用户的操作要求高了些.....
用楼上的函数吧
zhangl_cn
2005-07-13
打赏
举报
回复
郁闷,被抢先了!
zhangl_cn
2005-07-13
打赏
举报
回复
API函数:PromptDataSource()
僵哥
2005-07-13
打赏
举报
回复
function PromptDataSource(ParentHandle: THandle; InitialString: WideString): WideString;
wandering_hawk
2005-07-13
打赏
举报
回复
那不一样的,用combobox还需要根据用户选的数据库来手动生成connString,有些数据库还需要输密码,很不方便的。
调用那个对话框的话就可以省去很多代码和步骤。
我现在查到好像是要调用windows里的oledb32.dll文件,不过具体的还不是太清楚怎么调用
smiler007
2005-07-13
打赏
举报
回复
SELECT name FROM master.dbo.sysdatabases
smiler007
2005-07-13
打赏
举报
回复
那不如把数据库填入一个 ComboBox 让用户选择呢,那样岂不是更直观一些...
Visual C++编程技巧精选500例.pdf
042 如何在程序启动时弹出文件打开
对话框
? 第4章 标题栏与菜单栏 043 如何获取标题栏高度? 044 如何设置标题栏文字? 045 如何获取标题栏文字颜色? 046 如何设置标题栏文字颜色? 047 如何在文档类中设置标题栏文字? ...
VC学习大纲 VC学习讲义
如何在主
对话框
程序启动时立即隐藏
对话框
的巧妙实现方式与精妙思想(不能直接在OnInitDialog处理。包括自定义消息的实现) 第十课: 如何制作属性页
对话框
和向导
对话框
,融合讲解组合框(如何调整组合框的大小)、...
利用接口特性构建可自动回收的Query对象池
利用接口特性构建可自动回收的Query对象池 构建一个线程池,外部通过指定接口
调用
线程中的Query处理数据库操作,当外部使用完成后,依据接口生存期自管理的特性释放外部...注意:代码
运行时
,请更改相应的数据库表名
vfp6.0系统免费下载
如果象在“项目信息”
对话框
中指定的那样,把 ProjectHook 类指定给一个项目,那么此类就会在项目打开时实例化(这包括 BUILD APP 等命令),而在项目关闭时被销毁。 问题 2-6: 如何在 列表框 (ListBox) 控件中添加...
vc++ 应用源码包_1
代码里用了备份dll的方法,因此在自定义的函数中可以直接
调用
在内存中备份的dll代码,而不需要再把函数头部改来改去。 IOCP反弹远控客户端模型,外加上线服务端,全部代码注释! 如题。这个是IOCP远程控制软件的...
数据库相关
2,497
社区成员
88,445
社区内容
发帖
与我相关
我的任务
数据库相关
Delphi 数据库相关
复制链接
扫一扫
分享
社区描述
Delphi 数据库相关
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章