开发时,用的dbx
比如在datamoduleA里,如果要引用datamoduleB里的某个dataset,明明已经use过dmB了,还是必须先把dmB先打开,在dmA里下拉框才会出现dmB里的dataset
这样很糟糕啊,如果dmA要引用很多个datamodule的东西,岂不是要全部把它们打开一遍?
开发时遇到的这种情况也很讨厌,dmA引用了dmB的connection,直接打开dmA,就报missing drivername connection,还得每次要打开某个模块,都得先开一堆datamodule
有没有什么设置可以解决这种每次打开某模块都需要先打开其引用的模块的烦人问题啊??
比如在datamoduleA里,如果要引用datamoduleB里的某个dataset,明明已经use过dmB了,还是必须先把dmB先打开,在dmA里下拉框才会出现dmB里的dataset
这样很糟糕啊,如果dmA要引用很多个datamodule的东西,岂不是要全部把它们打开一遍?
开发时遇到的这种情况也很讨厌,dmA引用了dmB的connection,直接打开dmA,就报missing drivername connection,还得每次要打开某个模块,都得先开一堆datamodule
有没有什么设置可以解决这种每次打开某模块都需要先打开其引用的模块的烦人问题啊??
connection等信息也在代码里写死了,程序运行也没问题
问题在于就是开发的时候必须要打开dma引用的dmb先打开才行,否则a里面的b的connection就全丢了,没人碰到这个问题吗???
试了ado没这个问题,就是dbx有
每个窗口的USES部分加datamoduleA
程序run的是没问题,但是design的时候就有问题了
比如dma、dmb,dmb.dataset.connection:=dma.connection,我在图形界面下设置了这种关联,在design的时候先打开dmb,dmb.dataset.connection就成了"SimpleDataSet.InternalConnection"而不是"dma.connection"了
为什么非要弄一大对 dma,dmb 出来呢!
在程序里写好数据库操作类不是更方便么!
也不是单纯datamodule的问题
普通的窗体里也有这个问题,比如某个dbgrid的datasource引用其他模块的数据控件了,也得先打开那个模块才可以
Form1.ShowModal;
这是必然的啊,要是如果一直保持链接,那对你数据库的会造成负担啊,本来这就是正常的啊。
Doc.Application.Selection.goto(what :=wdGoToBook,Name :=BookMarkName);
这句话大家有人在D中用过吗?
我在D6中,用时总提示wdGoToBook未定义啊!
没打开找不到的原因24楼已经说了
首先在Delphi中定义
wdGoToItem=( wdGoToBook = -1,
wdGoToSection = 0,
wdGoToPage = 1,
wdGoToTable = 2,
wdGoToLine = 3,
wdGoToFootnote = 4,
wdGoToEndnote = 5,
wdGoToComment = 6,
wdGoToField = 7,
wdGoToGraphic = 8,
wdGoToObject = 9,
wdGoToEquation = 10,
wdGoToHeading = 11,
wdGoToPercent = 12,
wdGoToSpellingError = 13,
wdGoToGrammaticalError = 14,
wdGoToProofreadingError = 15);
这样一个枚举类型,然后在需要地方引用这个枚举类型中相应值就可以了。
如:
GoalwdGoToItem : wdGoToItem;
GoalwdGoToItem := wdGoToBook;
Doc_Handle.Application.Selection.goto(what := GoalwdGoToItem,name := BookMarkName);
对runtime倒是没什么意见,相关信息写在代码里也勉强可以接受。
我觉得dataset非常好啊,我把可以看成一个对象的数据库表都对应成一个dataset,然后业务逻辑比较相关的dataset归置到一个datamodule里
这样插改删查操作非常方便啊,省了多少sql语句和代码啊
而且它把数据载入内存,每次查数筛数只要从内存locate、filter就可以了,快
而且对于公用的对象比如省、市的信息,把这些ds放在一个dm里,可以让很多模块共用啊
它非常好地实现了java里类似hibernate的功能啊,所以现在我坚定不移地用ds和dm
但是似乎有更高明的数据库操作方法,烦请赐教?
后三个控件放入datamodule里,运行时,构建adoconnecton的连接在我做的数据库应用系统中,基本都是这种习惯,也未出过啥问题的。
用什么DataModule