先在EDIT编辑框输入商品代码,判断商品代码是否存在,如果存在,就显示在
DBGRID中,输入数量,计算金额。
现在的问题是如果在DBGRID显示一行就马上输入数量,运行没有问题。
但是如果是先增加了若干了记录,增加完了以后,然后从DBGRID的第一行
开始输入数量,在第一行输入后,移到后面的行输入时,就显示以上故障。
我希望能够随时都可在DBGRID的各行输入和编辑。不出现以上的故障信息。
拜托了。
DBGRID中,输入数量,计算金额。
现在的问题是如果在DBGRID显示一行就马上输入数量,运行没有问题。
但是如果是先增加了若干了记录,增加完了以后,然后从DBGRID的第一行
开始输入数量,在第一行输入后,移到后面的行输入时,就显示以上故障。
我希望能够随时都可在DBGRID的各行输入和编辑。不出现以上的故障信息。
拜托了。
加上dbgrid1.datasource.dataset.post;
DBGRID1.DATASOURE:=DATASOURCE2;
在两句话中加上
append之后post了吗?
试试之后让
adotable.active=false;
adotable.active=true;
ADOTABLE的上次操作时的保存的记录。是个空表
DATASOUR2.DATASET:=ADOtable1;
把这两句话放到begin后面
下面这三句什么意思,每次新增都要设置吗?
DBGRID1.DATASOURE:=DATASOURCE2;
DATASOUR2.DATASET:=ADOtable1;
dbgrid1.datasource.dataset.edit;主键是那个?
1. FindKey()之前最好明确以哪个字段作为查找的依据
Table1.IndexFieldNames:='Field1;Field2;...';
Table1.FindKey([value1,value2,...]);
2. 在append, insert, edit...之后,最好post一下:
AdoTable1.append;
...
AdoTable1.post;
AdoTable1.active:=false; //如有必要,刷新显示
AdoTable1.active:=true;
3. 如果你的DataSource的AutoEdit属性是True;在DBGrid中直接修改就可以,没有必要DBGird1.DataSource.DataSet.Edit
adotable1的内容是:商品代码,单价,数量table1是商品表,ADOTABLE1是jinhuobiaotable1的数据已预先输入。ADOTABLE在增加记录前是空表。在EDIT编辑框输入商品代码判断,如果TABLE1中有,就在DBGRID中显示出来,并付给jinhuobiao(adotable1)。table1的主键是商品代码。
adotable1没有设置主键。DBGRID1.DATASOURE:=DATASOURCE2;//表示把DBGRID与ADOTABLE1联系起来
DATASOUR2.DATASET:=ADOtable1;
dbgrid1.datasource.dataset.edit;//DBGRID处于编辑状态
please believe me!
祝你好运!
也是做商品表,记得太深了,怎么会这么巧合?怎么会?
var
s1:string;
begin
dbgrid1.setfocus;
dbgrid1.editormode:=true;
s1:=edit1.text;
if table1.findkey([s1]) then
begin
DATASOUR2.DATASET:=ADOtable1;
DBGRID1.DATASOURE:=DATASOURCE2; adotable1.append; adotable1.fieldbyname('商品代码').asstring:=
table1.fieldbyname('商品代码').asstring;
adotable1.fieldbyname('数量').asinteger:=
table1.fieldbyname('数量').asinteger;
adotable1.fieldbyname('单价').asfloat:=
table1.fieldbyname('单价').asfloat; adotable1.Post;
adotable1.edit;
END;
END;
jinhuobiao是需要进行插入,计算,更新,删除的表。我以前没有设置主键。现在也设置了。不过我有一点没有搞懂,为什么一定要设置主键?它的作用我以前没有看出来,请告诉我主键到底用什么作用?
为什么还要给商品表设置主键,它已经有主键了呀,并且现在编辑的是adotable1,错误也是adotable1报的错!
你查询->显示->赋值给另一个表?
我想说的是:
搞定啦!!!
谢谢,请容许我向你们关心和以后还会关心的朋友们表示诚挚的敬意。
我爱你们。
祝你们的工作顺利。
请到http://www.csdn.net/expert/topic/1000/1000208.xml?temp=.8877527
我很想多表示我的一番心意,真的,我是诚心的。