竹筒倒豆子,临场经验不足者莫进,总计400分!!!(200分)

  • 主题发起人 主题发起人 张剑波
  • 开始时间 开始时间

张剑波

Unregistered / Unconfirmed
GUEST, unregistred user!
开发环境:delphi5+ado+access2000
问题1: 可能是关于varchar的问题。
astring:=dbgrid.fieldbyname('xxx').asstring;
xxx字段定义长度是8位,实际有5位使用。
astring为'12345 ' 或‘12345’
我是在access2000中手工建立表结构的,我在二个表中
分别建立了xxx字段,为什么有个表表现为'12345'的形式,
另一个表表现为'12345 '的形式,检查过字段的定义没有什么不同。
什么原因?如何定义varchar字段(不是createtable方法),是手工建立。
问题2:
判断一个radiogroup是否选中第一项:
if radiogroup1.ItemIndex=0 then
begin
do something
end;
这句话老是判断失误,选择了第一项也不 “do something”
改为:
if radiogroup1.ItemIndex<1 then
begin
do something
end;
判断结果无误。

我是设置断点后有检查出的
怎么回事?
问题3: http://www.tommstudio.com的控件排行榜上“一个能够解析数学运算式的构件”
下载了无数次也不成功,那位发到我信箱里 ok923@163.net
问题4: delphi5+ado+access2000 程序如何自动压缩access2000的数据库,不用dao
(离线阅读已仔细的看了)
问题5: delphi5+ado+access2000如何方便的读取外部数据库的数据,非TXT形式的。


例如: user.mdb 是在用数据库,里面有个“平衡关系”表
new.mdb是外部的更新用数据库,里面也有个“平衡关系”表
如何把new.mdb的“平衡关系”表覆盖user.mdb 的平衡关系”表
用二个adoconnection分别连接后,我不知怎样做了?
其他方法也行。
问题6: exit的用法

function xxx(yyy:string):boolean;
begin

for i:=0 to 120 do
begin
if i:=99 then
exit;
do something;
end;
do otherthing;

end;
exit执行后跳出了function,没执行 do otherthing;

正常吗?我如果执行 do otherthing,该怎样做?
嗯?abort的用法?





提示:分不够,再加。









 
问题6:
使用,break; 可以跳出循环.
 
问题6:
使用,break; 可以跳出循环.
ok,我也想到了,thanks
 
这么多问题!
对于6,把exit改位break;
 
2、你的radioGrop上是否又放了Radiobutton,而没有用它自己的Items,所以并没有选中,
radioGrop.ItemIndex为-1,设断点看看是不是-1.
6、用break跳出循环,Exit是退出函数。
 
项目已完成了。
积累了这么多问题,大部分问题绕过了,可心里总不是滋味。
不好意思,就一起说出来。
 
"你的radioGrop上是否又放了Radiobutton"
我是用items.add添加完成后产生的问题。
 
1.你看你的表中那个栏位设计是不是设成了定长,若是定长,问题就在这儿.
2.看是不是-1,因为默认值是-1,所以=0没用.我想也应该是这个原因.
3.
4.
5.直接在Delphi中用程序覆盖不知道,你可以先删除一个表的内容,再一笔笔的加进去.
若不通过程序,可以直接在ACCESS中将该表杀掉,再从另一个MDB中贴过来.
6.break跳出当前循环,continue继续,exit退出当前过程或函数,abort退出当前操作,中断.
 
to::zhangkan
"你可以先删除一个表的内容,再一笔笔的加进去."删是能删除,一笔一笔加也能解决
问题,SQL语句能做到吗?
 
to::zhangkan
“1.你看你的表中那个栏位设计是不是设成了定长,若是定长,问题就在这儿.”
我都设为定长,表现形式不同。
 
1、确实跟VARCHAR有关,CHAR类型的有空格,VARCHAR类型的无空格。
2、ItemIndex holds the ordinal number of the selected radio button in
the Items list. (The first button is 0.) The value of ItemIndex changes
at runtime as the user selects radio buttons. If you want one of the
buttons to appear selected when the application starts, assign that
button to ItemIndex at design time; otherwise, leave ItemIndex set to
the default value of -1, which means that no button is selected.
6、你所说情况正常,exit退出当前过程或函数。你也可以用goto语句。
 
4.咋也绕不过吧?,只要你是用access。
这个问题也困扰了我挺长时间(尤其是带密码的压缩)。
 
1.没有人回答出来好象:(不过,应该是你的问题或者BUG,根据MS HELP:
文本 (默认值)文本或文本和数字的组合,或不需要计算的数字,例如电话号码。 最多为 255 个字符或长度小于 FieldSize 属性的设置值。Microsoft Access 不会为文本字段中未使用的部分保留空间。
2.动态建立的,明显没有选择就判断,所以为-1;
3.和你一样,看看http://vcl.vclxx.org/DELPHIGB/DEFAULT.HTM有没有
4.估计只有通过原生DAO对象...以上站点有例子,如果不用DAO,好象就OLE掉ACCESS...估计这不是你要的
5.ADO和BDE一样支持议购查询,试试Connection1.tablename?忘记了,如果不用程序实现,Access有导入的
6.都说了,是Break不是BUG
 
2、可以用Showmessage(IntToStr(radiogroup1.ItemIndex))试试!!!
 
呵呵,我就会6
你是用退出函数的EXIT,当然退出函数了
 
1."你可以先删除一个表的内容,再一笔笔的加进去."删是能删除,一笔一笔加也能解决
问题,SQL语句能做到吗?
我想不能直接用SQL语句实现,若哪位行,我也听听.
2.我都设为定长,表现形式不同。
请问你的表现形式是什么?能不能将这两个栏位的设的什么写出来呢?
 
4.原生ado对象在建立连接字的时候有一个参数可以指示是否进行压缩(真是不可理解)
Jet OLEDB:Compact Without Replica Repair:=True
adoconnection组件的editconnectionstring也可以指定这个值,在‘所有’这个选项里
我没有自己测试过,家里的机器没有access2000
访问密码也是可以指定的
Jet OLEDB:Database Password:='sa'
这个我是测试过的,不是给数据库加密码,而是访问加密过的access
给数据库加密看来应该使用Jet OLEDB:Encrypt Database 和Jet OLEDB:New Database Password
5.在access2000里建立一个外部连接查询试试看能不能行

6.上面的诸位大虾都说了,我只能说我来迟了
 
请zhangkan和CJ先生到我另开的贴子拿分。
十分感谢所有回答这个问题的朋友。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
604
import
I
后退
顶部