作者:多米音乐_34429718 | 来源:互联网 | 2023-07-18 17:13
最近无聊,用BCB多线程操作一下数据库,没想到开两个线程,做查询操作和插入操作,点击得快一点就出现占线错误,当场晕倒,一看就是查询问题,翻了本网站的所有记录,解决方法有几个,就是不能解决!JAVA里面
最近无聊,用BCB多线程操作一下数据库,没想到开两个线程,做查询操作和插入操作,点击得快一点就出现占线错误,当场晕倒,一看就是查询问题,翻了本网站的所有记录,解决方法有几个,就是不能解决!JAVA里面有HASHTABLE可以解决这个问题,但是BCB却不行,你说垃圾不垃圾~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~BCB就是不能很好得跟踪数据库的连接,BUG,垃圾!
建议大家遇到这样的工程的时候不要用BCB。除非已经有很好的解决办法!
57 个解决方案
不知道是你垃圾,还是BCB垃圾?
那个占线是由于你这个垃圾对于不同的SQL语句,或者是对象使用同一个Query了,
想想让你自己在同一时刻去干不同的两件事情,你一定也会出现“占线”的
大家如果有不同意见最好拿出有力的证据来,我是以前一时失足才踩到BCB这个地雷的,还有个原因是比较好上手。现在我已经基本不用了。
其实我也希望BCB有很强的功能!但是事实摆在面前没有办法啊!
占线的问题,我没有碰到过,不过我同学碰到过,
她是一个小MM,说她不懂事,没有想到为什么,
难道你也就没有想到嘛?
动不动就说什么是垃圾,^_^
如果你说一个东西是垃圾,那个东西可能真的不太好使,
如果你说两个东西是垃圾,那就要怀疑你自己了!……
HAPbird 说的就没有错, 你自己检查一下你的代码,
要么是HAPbird说的,要么就是 你两个线程同时访问同一个资源了!
go8你又出来调皮了。
我们一起来鄙视你。
to HAPbird(HPbird)
至少查询是有问题,我,还有这里的一个兄弟,我和他谈过,ADOQuery是有问题哦。
线程里new都不行。
TO : HAPbird(HPbird)
首先我用的是多线程,QUERY是独立新建的,另外查询,插入数据库数据+查询数据,我用按钮的按钮事件,难道我点击速度比程序的执行速度快?
TO :GaoLun(★米老鼠★)
你有这个问题的解决方法?为什么不拿出来共享?
我只是说了事实,有本事拿出解决方法出来~!BCB里有跟踪数据库连接的方法吗?如果没有的话解决这个问题的可能性很小,JAVA里只有用HASH表跟踪才可以解决这个问题!
如果用TQuery,需要用TSection来互斥访问TDatabase,如果用的是TADOQuery就没有这个问题了。
你为什么不查查各种数据访问手段的线程安全性呢?
BDE,ADO,DBX不一定都是线程安全的。
遇到问题不想想为什么,只知道抱怨。从你的态度来看,你才是最大的垃圾。
虽然楼主有点偏激,但在下还是非常同意她的观点。
别的不说,单是BCB那破烂帮助就足以让人唾骂的了。要不是公司指定要我用,才不用那破玩艺儿。
代码绝对没有错误,因为我点击慢的话没有占线的错误。
TO yesry(噎死你):
用的就是TADOQuery。
TO ThinkX(思·秋天的树·求职中)
ADO是线程安全的啊!大哥,有没有搞错,去看看BCB的帮助吧!
BCB可以编译标准C++,如果你水平高,可以用它来写系统,是不是垃圾,看你的了
为什么一定要用BCB,又在WIN下使用它?
你的这个问题,点快了,出错,只能是你的程序问题,为什么不设一标志,一个资源正在使用时,其他的进程再想使用,则要等待,这样不就行了?
遇到这种人,没什么好说的。既然是垃圾,你还在使用它,那么你连垃圾都不如。
水平高一些的人,遇到问题,不是这样说的。人家只会说,我遇到什么问题了(详细描述
问题的症状),请问如何解决之类的话。只有那些一知半解的人,到处嚷嚷,唯恐别人不
知道他似的。
Show your code,then let's find error!
程序没错,不能证明你的用法没错呀!
呵呵,首先BCB可以在多线程中进行查询没有问题的。
其次ADO支持异步查询这更没有问题,是你技术太差了。
想不到超级大垃圾是你自己!老弟,以后提问题要自量啊!你这样没有根据地宣布会对不起Borland啊!
如果 BCB 是垃圾的话,你就不用就行了。
如果是公司非要你使用的话,那你走人吧。
明明知道是垃圾还使用的人不是更垃圾吗?!
遇到这种人,没什么好说的。既然是垃圾,你还在使用它,那么你连垃圾都不如。
水平高一些的人,遇到问题,不是这样说的。人家只会说,我遇到什么问题了(详细描述
问题的症状),请问如何解决之类的话。只有那些一知半解的人,到处嚷嚷,唯恐别人不
知道他似的。
同意!
to go8
顺便希望楼主回家看看什么叫互斥什么叫同步。
给你回帖是给你面子,垃圾一个!
"JAVA里面有HASHTABLE可以解决这个问题"
你用java好了,因为向你这种人只能依靠现成的技术或功能来解决问题,可以想象你写程序
也只会拖拖控件罢了。
ADO 2.5 也是一个很多问题的版本,建议升级.
如果说BCB真的这么垃圾,靠,BORLAND早就完蛋了。
===
按我的经验,楼主不仅是刚用BCB,而且是刚学编程序--才会表现出“拉不出来怪厕所”的行为
靠!连一个多线程操作数据库都搞不定还喊垃圾?
靠!连一个多线程操作数据库都搞不定还喊垃圾?
靠!连一个多线程操作数据库都搞不定还喊垃圾?
靠!连一个多线程操作数据库都搞不定还喊垃圾?
靠!连一个多线程操作数据库都搞不定还喊垃圾?
靠!连一个多线程操作数据库都搞不定还喊垃圾?
靠!连一个多线程操作数据库都搞不定还喊垃圾?
靠!连一个多线程操作数据库都搞不定还喊垃圾?
靠!连一个多线程操作数据库都搞不定还喊垃圾?
靠!连一个多线程操作数据库都搞不定还喊垃圾?
靠!连一个多线程操作数据库都搞不定还喊垃圾?
解决方法有几个,就是不能解决!
-----------------------------
经典名句
郁闷中。。。。。。。。。。。。。。。。。
好像这里有很多高手啊~~~!!哈哈。。。。
我只是随便写了个程序玩玩的,不过也写了好几天,如果用得多的话,你们会发现问题的。
要实现一个目标有很多种方法,我已经换了种方法来达到我的目的。
发贴的目的只是想让大家知道BCB有这个BUG。
垃圾嘛,到处都是!
BCB有BCB的优势,VC有VC的优势,JAVA有JAVA的优势,当然也有他们的不足,在处理某些方面问题的时候,总有一种语言是垃圾。
我是垃圾,我用垃圾。没有哪一种语言是完美的,精通语言首先要知道语言的不足
不管你们承认也好,不承认也好!
郁闷中。。。。。。。。。。。。。。。。。
这些说得还是比较客观!
这些说得还是比较客观!
这些说得还是比较客观!
这些说得还是比较客观!
这些说得还是比较客观!
这些说得还是比较客观!
这些说得还是比较客观!
这些说得还是比较客观!
这些说得还是比较客观!
其实还是应该对你鼓励的,凡事总有个过程,每个人都是从郁闷中成长起来的,只是楼主用词欠妥,以致招来很多人愤愤不平.
他们为什么会愤愤不平?原因只是他们太爱BCB了,容不得你泼一滴水.
我们一起来鄙视搂在了,
我用bcb几年了,有时候是会出现问题,但是总是可以解决的,我也用过多线程来访问过数据库,也没有出现问题,
出现问题的是你,不是bcb,bcb只是提供了一种工具,主要还是要你的开发,如果发现互斥,你可以想办法排除.
所以,最终垃圾的还是你,
平生最鄙视爱鄙视bcb的人,所以我先要鄙视你,不过为了你走入正道,还是决定帮助你.你帖代码吧,我就不信搞不定.
好像知道现在你仍然认为这是bcb的bug。
我不确信你说的情况不是bug,但是至少你应该将你的代码贴出来。
对啊,多线程操作本来就有它的特殊性,你要按一般的做法来做不出问题才奇怪呢。不然要那么多线程同步的api干吗啊。
贴出代码 大家心平气和的讨论一下 bcb的确有BUG 不然干吗sp1,2,3的出
但是你的态度不对... 咋们的确不能对某个语言或者编译器有宗教般的狂热 但是漫骂决不是战斗!
bcb确实有比较多的BUG, 但是楼主的表达方式有问题.
不过还有楼下的很多回复让人不敢恭维,
以为自己水平高了点, 抓住了理拼命的骂楼主.
好啊. 爽啊.
我只是想提醒部分人, 当你被一个bug弄的无从下手的时候而且很难解决的时候你会不会觉得生气? 那种愤怒只能是初学者才有, 你们是高手, 经验足了, 即使碰到bug也知道怎么解决了.
我想那些动不动就骂人的人自己摸着良心想一想, 你是初学者的时候你就马上对bcb全部bug都应付自如了?
出现BUG才能让你成长,我们在BUG中长大!!呵呵!多多努力吧!!
他就是找骂呢,这个家伙,敢于烦众怒,呵呵...
谁用ADOQuery在线程里通过OLE DB for ODBC驱动来访问数据库没有?试试吧(我也不知道能不能成功)。
如果BCB是垃圾,那你就是垃圾的儿子.别动不动就瞎喊,有本你自己写个比BCB好的出来
我好同情楼主的遭遇,
哎,谁叫你说话不注意分寸呢?
修养第一,程序第二。
友谊第一,灌水第二。
老婆第一,朋友第二。
........
赫赫?谁能告诉我啥是“马甲?”怎么有人问搂主
“你是谁的马甲?”什么意思?
DanielWYO(爱上小白) :正因为大家都是从骂着borland是垃圾成长起来的,所以再碰到了像当年我们骂bcb垃圾一样的初学者的时候,最好的办法就是泼他一桶冷水!要么从此以后不要用bcb了,因为肯定还会遇到无数的问题会骂无数次的垃圾;要么就硬着头皮顶下来,成长为合格的BCBer。要是头一种的话,我敢断言换了别的开发工具也一样是学不好的,因为出发点不对决定了道路和终点的不对。
其实楼主也只是一时积愤而已,每个人都会有的,没什么大不了,下回遇到问题说清楚大家一起讨论解决就结了。
其实我也是个菜鸟(看看我问什么问题就知道了),只是自觉心态还算好而已……
我没打开贴就知道楼主找骂来了,我记得BCB例子下有一个多线程访问的例子,你先看看吧~
另外:骂BCB是垃圾也不要跑到这里,我们都是BCB的FANS。
呵呵,我用bcb做过了好几个较大的项目
其中有一个项目如果完全编译,编译的代码行数超过了一亿行
以前经常听人说bcb,delphi bug太多
所以,如果项目遇到了一个莫名其妙的错误
首先就想到是bcb的bug所致
心里对bcb是又爱又恨
可是,到后来
发现99%的错误其实都是自己编程的错误
哪里是bcb的bug,其实是心中有bug
所以,
发现一个问题时
首先想想自身的问题
努力提高自己的水平
到一定的程度
即使非常罕见的情况遇到是bcb的bug
也可以采取不同的办法绕开而解决之
我遇到的少数所谓bcb的bug,其实也绝大多数是第三方控件的bug