知识大全 在Delphi中如何维护COM+的状态信息[1]
Posted 数据库
篇首语:学习如钻探石油,钻得愈深,愈能找到知识的精髓。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 在Delphi中如何维护COM+的状态信息[1]相关的知识,希望对你有一定的参考价值。
在Delphi中如何维护COM+的状态信息[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
问题是这样开始的 我需要写一个+ 用来连接不同的数据库 有的朋友可能会说 应该为每个数据库建立一个+ 但是在我的系统里不能这样 我们在做一个教育辅助系统 用户是学校(当然包括学校里的老师 学生 家长) 我们为每个学校建一个数据库 这些数据库的结构是相同 当然我们还有管理数据库 用于协调各数据库的关系 每增加一个学校用户 我们就激活一个新的数据库给客户使用 也就是说 我们的数据库的个数是不断增加的 而我们的客户端只有一个 我们不会为每个学校开发不同的客户端 我们的+也只有一组 而不是为每个数据库开发一组 所以我必须在+中根据用户的身份让它去连接不同的数据库
很显然 这个+应当提供一个方法 让其调用者(可以是客户端应用程序 也可以是其它的中间件)去选择连接的数据库 在实际中我们是根据用户的ID在管理库中查到它的数据库名 然后连接用户数据库 在这里 为了简化问题 我们认为调用者已经知道了数据库的名字 而直接要求调用这个数据库
在+的类中增加一个私有成员DBName:string 用于保存要连接的数据库名称 还应该提供这样一个方法来设置它的值 我开始是这样写的
procedure TmtsDBConn ConnectTo(sDBName:string)
begin
try
DBName:=sDBName;
SetComplete;
Except
SetAbort;
end;
end;
然后在其中放入ADOConnection ADODataSet 和DataSetProvider控件 分别取名为adoc adods dsp 设置好它们之间的连接关系 把adoc的连接字符串设为连接数据库 DB 这是默认值 然后在adoc的BeforeConnect事件中
adoc ConnectionString:=ConnectStringA+´Initial Catalog=´+DBName+´;´+ConnectStringC;
这里的ConnectStringA和ConnectStringC是为了动态构建连接字符串 预先设置好的字符串常量 如下
const
ConnectStringA=´Provider=SQLOLEDB ;Password= ;Persist Security Info=True;User ID=sa;´;
ConnectStringB=´Initial Catalog=DB ;´;
ConnectStringC=´Data Source=server ;Use Procedure for Prepare= ;Auto Translate=True;Packet Size= ;Workstation ID=LXM;Use Encryption for Data=False;Tag with column collation when possible=False´;
编译 安装这个+ 然后编写客户端程序调用它
在客户端程序中放一个DConnection 连接到上面编写+服务器 再放一个ClientDataSet 设置它的RemoteServer和Provider属性 然后在它的CommandText中写入SQL语句 然后 放入DataSource控件和DBGrid控件 建立好它们之间的连接关系 最后放一个按钮 在它的Click事件中
Dconnection Connected:=true;
Dconnection AppServer connect(´DB ´);
ClientDataset Active:=true;
Dconnection Connected:=false;
这段代码是想测试一下 能不能访问到DB 数据库的数据 可是结果是 点下按钮时 总是报错 这是什么原因呢?
cha138/Article/program/Delphi/201311/24837相关参考
用DELPHI在状态栏中显示进程条[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!经常上网的朋
——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>//tracklinktechcn/?m_id=dangdang
——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>//tracklinktechcn/?m_id=dangdang
用DELPHI在状态栏中显示进程条[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 上面的步
——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>//tracklinktechcn/?m_id=dangdang
——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>//tracklinktechcn/?m_id=dangdang
——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>//tracklinktechcn/?m_id=dangdang
Delphi中用API实现在MSN的信息提示 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 我是
使用Delphi获取系列信息 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!Delphi以其优良的可
在Delphi中建立和使用别名[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 通常我们在D