⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000000.htm

📁 水木清华关于C++Builder程序的代码
💻 HTM
字号:
<HTML><HEAD>  <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人:&nbsp;Zeemon&nbsp;(塞下秋),&nbsp;信区:&nbsp;Visual&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;C++&nbsp;Builder常见问题解答(2)&nbsp;<BR>发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Wed&nbsp;Dec&nbsp;&nbsp;3&nbsp;19:30:48&nbsp;1997)&nbsp;<BR>&nbsp;<BR>第二部分&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BDE&nbsp;<BR>&nbsp;<BR>1、BDE&nbsp;Version&nbsp;problems&nbsp;<BR>&nbsp;<BR>Question:&nbsp;<BR>I&nbsp;have&nbsp;more&nbsp;than&nbsp;one&nbsp;installation&nbsp;of&nbsp;the&nbsp;Borland&nbsp;Database&nbsp;<BR>&nbsp;Engine&nbsp;and&nbsp;I&nbsp;am&nbsp;having&nbsp;troubles&nbsp;configuring&nbsp;the&nbsp;BDE&nbsp;to&nbsp;work&nbsp;&nbsp;<BR>with&nbsp;either&nbsp;Delphi,&nbsp;C++Builder,&nbsp;or&nbsp;IntraBuilder.&nbsp;<BR>&nbsp;<BR>Answer:&nbsp;<BR>Run&nbsp;regedit&nbsp;to&nbsp;see&nbsp;what&nbsp;your&nbsp;current&nbsp;path&nbsp;is&nbsp;for&nbsp;your&nbsp;DLLPATH&nbsp;&nbsp;<BR>under&nbsp;HKEY_LOCAL_MACHINE\software\Borland\Database&nbsp;Engine.&nbsp;&nbsp;&nbsp;<BR>There&nbsp;should&nbsp;be&nbsp;one&nbsp;and&nbsp;only&nbsp;one&nbsp;path&nbsp;for&nbsp;this&nbsp;key.&nbsp;&nbsp;If&nbsp;&nbsp;<BR>there&nbsp;is&nbsp;more&nbsp;than&nbsp;one,&nbsp;it&nbsp;will&nbsp;result&nbsp;in&nbsp;problems.&nbsp;&nbsp;&nbsp;<BR>Furthermore,&nbsp;the&nbsp;CONFIGFILE01&nbsp;key&nbsp;should&nbsp;point&nbsp;to&nbsp;your&nbsp;latest&nbsp;&nbsp;<BR>config&nbsp;file.&nbsp;<BR>&nbsp;<BR>One&nbsp;way&nbsp;to&nbsp;resolve&nbsp;problems&nbsp;arising&nbsp;from&nbsp;&nbsp;<BR>conflicting&nbsp;installations&nbsp;of&nbsp;the&nbsp;database&nbsp;&nbsp;engine&nbsp;is&nbsp;to&nbsp;&nbsp;<BR>reinstall&nbsp;the&nbsp;version&nbsp;of&nbsp;Borland's&nbsp;compiler&nbsp;or&nbsp;&nbsp;<BR>tool&nbsp;(either&nbsp;Delphi,&nbsp;Intrabuilder,&nbsp;or&nbsp;C++Builder)&nbsp;that&nbsp;has&nbsp;the&nbsp;&nbsp;<BR>latest&nbsp;version&nbsp;of&nbsp;the&nbsp;BDE.&nbsp;Then&nbsp;edit&nbsp;the&nbsp;DLLPATH&nbsp;in&nbsp;the&nbsp;registry&nbsp;so&nbsp;&nbsp;<BR>that&nbsp;it&nbsp;uses&nbsp;the&nbsp;default&nbsp;that&nbsp;the&nbsp;installation&nbsp;program&nbsp;gave.&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>This&nbsp;works&nbsp;because&nbsp;the&nbsp;latest&nbsp;version&nbsp;of&nbsp;the&nbsp;BDE&nbsp;is&nbsp;backward&nbsp;&nbsp;<BR>compatible&nbsp;which&nbsp;means&nbsp;that&nbsp;it&nbsp;will&nbsp;run&nbsp;applications&nbsp;written&nbsp;&nbsp;<BR>with&nbsp;previous&nbsp;versions&nbsp;of&nbsp;the&nbsp;BDE.&nbsp;<BR>&nbsp;<BR>2、How&nbsp;to&nbsp;delete&nbsp;ODBC&nbsp;drivers&nbsp;<BR>&nbsp;<BR>Question:&nbsp;<BR>How&nbsp;do&nbsp;I&nbsp;delete&nbsp;ODBC&nbsp;drivers?&nbsp;Once&nbsp;I&nbsp;remove&nbsp;them&nbsp;with&nbsp;<BR>the&nbsp;IDAPI&nbsp;configuration&nbsp;tool,&nbsp;save,&nbsp;exit&nbsp;and&nbsp;come&nbsp;back&nbsp;<BR>into&nbsp;the&nbsp;configuration&nbsp;utility,&nbsp;its&nbsp;still&nbsp;there.&nbsp;<BR>&nbsp;<BR>Answer:&nbsp;<BR>Removing&nbsp;the&nbsp;'Database&nbsp;Engine'&nbsp;registry&nbsp;entry,&nbsp;<BR>and&nbsp;running&nbsp;the&nbsp;BDE&nbsp;install,&nbsp;fixes&nbsp;the&nbsp;problem.&nbsp;<BR>&nbsp;<BR>3、Error&nbsp;'ODBC&nbsp;is&nbsp;either&nbsp;not&nbsp;installed&nbsp;or&nbsp;corrupt'&nbsp;<BR>&nbsp;<BR>Question:&nbsp;<BR>When&nbsp;I&nbsp;try&nbsp;to&nbsp;add&nbsp;a&nbsp;new&nbsp;ODBC&nbsp;driver&nbsp;under&nbsp;my&nbsp;installation&nbsp;<BR>of&nbsp;the&nbsp;BCB&nbsp;1.0&nbsp;product&nbsp;I&nbsp;get&nbsp;the&nbsp;error&nbsp;odbc&nbsp;is&nbsp;either&nbsp;&nbsp;<BR>not&nbsp;installed&nbsp;or&nbsp;corrupt.&nbsp;Has&nbsp;my&nbsp;installation&nbsp;failed&nbsp;or&nbsp;&nbsp;<BR>is&nbsp;it&nbsp;missing&nbsp;something?&nbsp;&nbsp;<BR>&nbsp;<BR>Answer:&nbsp;<BR>This&nbsp;happens&nbsp;if&nbsp;you&nbsp;try&nbsp;&quot;Install&nbsp;new&nbsp;ODBC&nbsp;driver&quot;&nbsp;from&nbsp;&nbsp;<BR>the&nbsp;BDE&nbsp;without&nbsp;first&nbsp;installing&nbsp;any&nbsp;32&nbsp;bit&nbsp;odbc&nbsp;drivers&nbsp;on&nbsp;&nbsp;<BR>your&nbsp;system.&nbsp;<BR>&nbsp;<BR>BCB&nbsp;1.0&nbsp;does&nbsp;NOT&nbsp;ship&nbsp;with&nbsp;any&nbsp;ODBC&nbsp;drivers.&nbsp;They&nbsp;must&nbsp;be&nbsp;&nbsp;<BR>purchased&nbsp;seperately&nbsp;from&nbsp;MS&nbsp;or&nbsp;Intersolve.&nbsp;<BR>&nbsp;<BR>If&nbsp;control&nbsp;panel&nbsp;does&nbsp;NOT&nbsp;have&nbsp;an&nbsp;icon&nbsp;labeled&nbsp;32-bit&nbsp;ODBC,&nbsp;then&nbsp;&nbsp;<BR>no&nbsp;32-bit&nbsp;drivers&nbsp;have&nbsp;been&nbsp;installed&nbsp;on&nbsp;the&nbsp;machine.&nbsp;<BR>&nbsp;<BR>4、ODBC&nbsp;Data&nbsp;sources&nbsp;in&nbsp;the&nbsp;BDE&nbsp;<BR>&nbsp;<BR>Question:&nbsp;<BR>Why&nbsp;does&nbsp;only&nbsp;one&nbsp;Data&nbsp;Source&nbsp;name&nbsp;show&nbsp;up&nbsp;in&nbsp;the&nbsp;BDE&nbsp;<BR>configuration&nbsp;utility&nbsp;when&nbsp;I&nbsp;add&nbsp;a&nbsp;new&nbsp;ODBC&nbsp;driver?&nbsp;&nbsp;I&nbsp;know&nbsp;I&nbsp;<BR>have&nbsp;more&nbsp;than&nbsp;one&nbsp;Data&nbsp;Source.&nbsp;<BR>&nbsp;<BR>Answer:&nbsp;<BR>This&nbsp;is&nbsp;probably&nbsp;the&nbsp;result&nbsp;of&nbsp;a&nbsp;bug.&nbsp;<BR>To&nbsp;work&nbsp;around&nbsp;this,&nbsp;with&nbsp;the&nbsp;'Default&nbsp;<BR>Data&nbsp;Source&nbsp;Name'&nbsp;combo&nbsp;box&nbsp;selected,&nbsp;use&nbsp;<BR>the&nbsp;arrow&nbsp;keys&nbsp;to&nbsp;select&nbsp;the&nbsp;correct&nbsp;&nbsp;<BR>data&nbsp;source.&nbsp;<BR>&nbsp;<BR>5、IDAPI/BDE&nbsp;install&nbsp;errors&nbsp;<BR>&nbsp;<BR>Question:&nbsp;<BR>I&nbsp;run&nbsp;the&nbsp;install&nbsp;and&nbsp;get&nbsp;a&nbsp;message&nbsp;saying&nbsp;that&nbsp;the&nbsp;install&nbsp;is&nbsp;<BR>having&nbsp;trouble&nbsp;locating&nbsp;files&nbsp;associated&nbsp;with&nbsp;the&nbsp;bde&nbsp;or&nbsp;idapi.&nbsp;<BR>I&nbsp;click&nbsp;ok&nbsp;and&nbsp;the&nbsp;install&nbsp;finishes.&nbsp;BCB&nbsp;boots&nbsp;up&nbsp;fine&nbsp;but&nbsp;I&nbsp;<BR>get&nbsp;the&nbsp;error&nbsp;&quot;&nbsp;cannot&nbsp;initialize&nbsp;the&nbsp;Borland&nbsp;Database&nbsp;Engine&nbsp;&quot;&nbsp;<BR>or&nbsp;something&nbsp;similar.&nbsp;This&nbsp;occurs&nbsp;when&nbsp;I&nbsp;launch&nbsp;the&nbsp;BDE&nbsp;&nbsp;<BR>configuration&nbsp;utility,&nbsp;database&nbsp;desktop&nbsp;or&nbsp;use&nbsp;BCB's&nbsp;<BR>database&nbsp;capabilities&nbsp;in&nbsp;a&nbsp;project.&nbsp;Why&nbsp;is&nbsp;the&nbsp;install&nbsp;failing?&nbsp;<BR>&nbsp;<BR>Answer:&nbsp;<BR>This&nbsp;problem&nbsp;is&nbsp;often&nbsp;caused&nbsp;by&nbsp;InstallShield&nbsp;conflicting&nbsp;with&nbsp;a&nbsp;<BR>drive&nbsp;that&nbsp;is&nbsp;doublespaced&nbsp;using&nbsp;the&nbsp;DoubleSpace&nbsp;disk&nbsp;compression&nbsp;<BR>utility.&nbsp;Solution&nbsp;is&nbsp;to&nbsp;decompress&nbsp;the&nbsp;drive&nbsp;or&nbsp;install&nbsp;to&nbsp;another&nbsp;<BR>drive.&nbsp;<BR>&nbsp;<BR>6、Can&nbsp;I&nbsp;use&nbsp;Older&nbsp;SQL&nbsp;links?&nbsp;<BR>&nbsp;<BR>Question:&nbsp;<BR>Can&nbsp;I&nbsp;use&nbsp;older&nbsp;versions&nbsp;of&nbsp;SQL&nbsp;Links&nbsp;use&nbsp;those&nbsp;with&nbsp;the&nbsp;IDAPI&nbsp;<BR>that&nbsp;ships&nbsp;with&nbsp;other&nbsp;Borland&nbsp;products?&nbsp;<BR>&nbsp;<BR>Answer:&nbsp;<BR>No.&nbsp;<BR>&nbsp;<BR>7、dBase&nbsp;Record&nbsp;#'s&nbsp;<BR>&nbsp;<BR>Question:&nbsp;<BR>How&nbsp;do&nbsp;you&nbsp;go&nbsp;to&nbsp;a&nbsp;specific&nbsp;record&nbsp;Number&nbsp;in&nbsp;a&nbsp;DBase&nbsp;Table?&nbsp;<BR>&nbsp;<BR>Answer:&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;__fastcall&nbsp;gotoRecord(TTable*&nbsp;T,&nbsp;int&nbsp;RecNo)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DBIResult&nbsp;rslt;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TResyncMode&nbsp;rm;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rslt&nbsp;=&nbsp;DbiSetToRecordNo(T-&gt;Handle,&nbsp;RecNo);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(rslt&nbsp;!=&nbsp;DBIERR_NONE)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(rslt&nbsp;==&nbsp;DBIERR_EOF)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;T-&gt;Last();&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(rslt&nbsp;==&nbsp;DBIERR_BOF)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;T-&gt;First();&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;T-&gt;Resync(rm&lt;&lt;rmExact);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<BR>&nbsp;<BR>8、Multiple&nbsp;records&nbsp;found&nbsp;but&nbsp;only&nbsp;one&nbsp;expected&nbsp;<BR>&nbsp;<BR>Question:&nbsp;<BR>I&nbsp;am&nbsp;getting&nbsp;a&nbsp;DBEngine&nbsp;message&nbsp;when&nbsp;editing&nbsp;a&nbsp;record&nbsp;that&nbsp;says&nbsp;&nbsp;<BR>&quot;Multiple&nbsp;records&nbsp;found&nbsp;but&nbsp;only&nbsp;one&nbsp;expected&quot;.&nbsp;&nbsp;What&nbsp;does&nbsp;this&nbsp;&nbsp;<BR>mean?&nbsp;<BR>&nbsp;<BR>Answer:&nbsp;<BR>You&nbsp;may&nbsp;need&nbsp;to&nbsp;create&nbsp;a&nbsp;unique&nbsp;index&nbsp;on&nbsp;the&nbsp;table&nbsp;so&nbsp;that&nbsp;each&nbsp;&nbsp;<BR>row&nbsp;can&nbsp;be&nbsp;uniquely&nbsp;identified.&nbsp;&nbsp;That&nbsp;*may*&nbsp;first&nbsp;require&nbsp;&nbsp;<BR>altering&nbsp;the&nbsp;table&nbsp;and&nbsp;adding&nbsp;a&nbsp;column&nbsp;to&nbsp;be&nbsp;populated&nbsp;with&nbsp;&nbsp;<BR>unique&nbsp;values.&nbsp;<BR>&nbsp;<BR>9、Repairing&nbsp;corrupt&nbsp;Paradox&nbsp;tables&nbsp;<BR>&nbsp;<BR>Question:&nbsp;<BR>Is&nbsp;there&nbsp;a&nbsp;BDE&nbsp;API&nbsp;or&nbsp;a&nbsp;DLL&nbsp;available&nbsp;for&nbsp;rebuilding&nbsp;crashed&nbsp;&nbsp;<BR>indexes&nbsp;(like&nbsp;the&nbsp;TUTILITY.EXE&nbsp;shipped&nbsp;with&nbsp;Pdoxwin)?&nbsp;<BR>&nbsp;<BR>Answer:&nbsp;<BR>The&nbsp;BDE&nbsp;includes&nbsp;a&nbsp;function&nbsp;to&nbsp;rebuild&nbsp;indexes,&nbsp;called&nbsp;&nbsp;<BR>DbiRegenIndexes().&nbsp;<BR>&nbsp;<BR>10、BDE&nbsp;functions&nbsp;and&nbsp;data&nbsp;types&nbsp;<BR>&nbsp;<BR>Question:&nbsp;<BR>Where&nbsp;do&nbsp;I&nbsp;find&nbsp;a&nbsp;listing&nbsp;and&nbsp;description&nbsp;of&nbsp;the&nbsp;BDE&nbsp;functions&nbsp;&nbsp;<BR>and&nbsp;data&nbsp;types?&nbsp;<BR>&nbsp;<BR>Answer:&nbsp;<BR>BDE.INT&nbsp;in&nbsp;your&nbsp;BCB\DOC\&nbsp;directory&nbsp;contains&nbsp;a&nbsp;listing&nbsp;of&nbsp;<BR>BDE&nbsp;functions,&nbsp;expected&nbsp;parameters,&nbsp;return&nbsp;values&nbsp;and&nbsp;a&nbsp;brief&nbsp;&nbsp;<BR>description&nbsp;of&nbsp;each.&nbsp;<BR>&nbsp;<BR>For&nbsp;any&nbsp;BDE&nbsp;function&nbsp;call&nbsp;include&nbsp;the&nbsp;BDE.HPP&nbsp;Header&nbsp;file.&nbsp;&nbsp;&nbsp;<BR>For&nbsp;more&nbsp;detailed&nbsp;information&nbsp;on&nbsp;the&nbsp;use&nbsp;of&nbsp;the&nbsp;IDAPI&nbsp;functions,&nbsp;<BR>obtain&nbsp;the&nbsp;Database&nbsp;Engine&nbsp;User's&nbsp;guide&nbsp;from&nbsp;Customer&nbsp;Service.&nbsp;<BR>&nbsp;<BR>11、Cannot&nbsp;find&nbsp;method&nbsp;to&nbsp;pack&nbsp;database&nbsp;<BR>&nbsp;<BR>Question:&nbsp;<BR>I&nbsp;can't&nbsp;find&nbsp;a&nbsp;method&nbsp;to&nbsp;pack&nbsp;a&nbsp;database&nbsp;file&nbsp;at&nbsp;run&nbsp;time.&nbsp;<BR>&nbsp;<BR>Answer:&nbsp;<BR>The&nbsp;VCL&nbsp;does&nbsp;not&nbsp;encapsulate&nbsp;all&nbsp;of&nbsp;the&nbsp;BDE&nbsp;functions&nbsp;calls,&nbsp;but&nbsp;&nbsp;<BR>you&nbsp;can&nbsp;call&nbsp;the&nbsp;BDE&nbsp;directly&nbsp;for&nbsp;functions&nbsp;not&nbsp;encapsulated.&nbsp;&nbsp;<BR>Here&nbsp;is&nbsp;a&nbsp;example&nbsp;of&nbsp;calling&nbsp;the&nbsp;BDE&nbsp;DbiPackTable()&nbsp;function.&nbsp;<BR>&nbsp;<BR>DBIResult&nbsp;DBIFN&nbsp;DbiPackTable&nbsp;(hDb,&nbsp;hCursor,&nbsp;pszTableName,&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[pszDriverType],&nbsp;bRegenIdxs);&nbsp;<BR>&nbsp;<BR>-&nbsp;hDb&nbsp;is&nbsp;the&nbsp;handle&nbsp;to&nbsp;the&nbsp;database&nbsp;&nbsp;<BR>-&nbsp;hCursor&nbsp;is&nbsp;a&nbsp;handle&nbsp;to&nbsp;the&nbsp;cursror&nbsp;<BR>-&nbsp;pszTableName&nbsp;use&nbsp;the&nbsp;table&nbsp;name&nbsp;from&nbsp;you&nbsp;VCL&nbsp;calls.&nbsp;<BR>-&nbsp;bRegenIdxs&nbsp;is&nbsp;a&nbsp;boolean&nbsp;ti&nbsp;indicate&nbsp;if&nbsp;you&nbsp;want&nbsp;indexes&nbsp;&nbsp;<BR>&nbsp;&nbsp;regenerated.&nbsp;<BR>&nbsp;<BR>Look&nbsp;at&nbsp;BDE.HPP&nbsp;in&nbsp;VCL&nbsp;include&nbsp;directory&nbsp;for&nbsp;more&nbsp;information.&nbsp;<BR>&nbsp;<BR>--&nbsp;<BR>※&nbsp;来源:·BBS&nbsp;水木清华站&nbsp;bbs.net.tsinghua.edu.cn·[FROM:&nbsp;sapphire.ncic.a]&nbsp;<BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -