两个表:
仓库明细表:商品编号(外键--->商品主表.商品编号),数量
商品主表:商品编号(自动递增),商品名称两个DBgrid:DBgrid1,DBgrid2DBgrid1字段:仓库明细表.商品编号,商品主表.商品名称,仓库明细表.数量
DBgrid2字段:商品主表.商品编号,商品主表.商品名称我想实现:在DBgrid2中选择我想要的商品,添加到DBgrid1中去,可以随便添加几条现在我在DBgrid2中选择一行,添加到DBgrid1中去,添加一行时还可以,可连续添加两条时错误发生了
因为DBgrid1中有个“商品主表.商品名称”字段,当添加到第二条时,DBgrid1会自动把上一条刚刚插入的记录提交,也就是说在“商品主表”中插入了刚刚的“商品主表.商品名称”字段,这时错误提示““商品主表”的“商品编号”字段不能为空”
这就是因为DBgrid添加到第二行时就会把上一行的记录自动添加,真不好!!!我本来是想让DBgrid1的“商品主表.商品名称”为空字段,也就是个假的字段
可是代码 DBGrid1.Fields[1].AsString:='XXX'; 会出错 (如果字段是真的字段的话代码可以运行)唉,如果DBgrid1只有“商品编号”,“数量”字段的话那就好办了,因为这都只操作一张表,可是现在.....头都搞大了
别人也有提意见说建一个临时表,可是这样做不是太麻烦了,建视图也不行,我想这是我对DBgrid控件不熟悉所至的请大家帮帮忙,解决这个问题,谢谢了
仓库明细表:商品编号(外键--->商品主表.商品编号),数量
商品主表:商品编号(自动递增),商品名称两个DBgrid:DBgrid1,DBgrid2DBgrid1字段:仓库明细表.商品编号,商品主表.商品名称,仓库明细表.数量
DBgrid2字段:商品主表.商品编号,商品主表.商品名称我想实现:在DBgrid2中选择我想要的商品,添加到DBgrid1中去,可以随便添加几条现在我在DBgrid2中选择一行,添加到DBgrid1中去,添加一行时还可以,可连续添加两条时错误发生了
因为DBgrid1中有个“商品主表.商品名称”字段,当添加到第二条时,DBgrid1会自动把上一条刚刚插入的记录提交,也就是说在“商品主表”中插入了刚刚的“商品主表.商品名称”字段,这时错误提示““商品主表”的“商品编号”字段不能为空”
这就是因为DBgrid添加到第二行时就会把上一行的记录自动添加,真不好!!!我本来是想让DBgrid1的“商品主表.商品名称”为空字段,也就是个假的字段
可是代码 DBGrid1.Fields[1].AsString:='XXX'; 会出错 (如果字段是真的字段的话代码可以运行)唉,如果DBgrid1只有“商品编号”,“数量”字段的话那就好办了,因为这都只操作一张表,可是现在.....头都搞大了
别人也有提意见说建一个临时表,可是这样做不是太麻烦了,建视图也不行,我想这是我对DBgrid控件不熟悉所至的请大家帮帮忙,解决这个问题,谢谢了
解决方案 »
- 程序别的机程序跑不了, 怎么看缺少了哪个dll文件没注册或存在?
- 急需雪中送炭!!关于TClientSocket和TServerSocket
- delphi+pb数据库连接问题
- 关于重载,paint!请高手指点
- 怎麼用ole技術把excel或者word放到我的form中呢。
- 我设计数据库中遇到这样的问题?
- 在线等待,马上结分:求一个字符串函数
- 大家都来拿分啊!关于VCL原代码的问题
- 在线等待:我在设置好DBGrid后,出现的是英文标记列,我如何改为中文列!
- 关于delphi中的winsock
- 菜鸟求助:在EDIT中编辑时如何在按下"-"(#$2D)时把其直接转换成"~"(#$A1AB)?
- List index out of bounds(3),这是咋回事儿啊?
adoquery1.sql.add(........) ???
那不是要插入到表中去了?应该怎么做呢?就是因为DBgrid1中要显示两个表的字段所以才变得不好做了(加了一个“商品名称”),可是不加又不行,总不能让客户看“商品编号”吧有没有更好的解决方法呢?
DBgrid用来查看数据还行,可是用到多表更新就不太好做了现在我是用StringGrid
把StringGrid中的记录都放到一个数组记录中去,再导到数据库中
大量数据StringGrid就很慢了把
unit main;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, ToolWin, Menus, ImgList;type
Tmainform = class(TForm)
………………
private
{ Private declarations }
public
{ Public declarations }
username,password:string;
end;var
mainform: Tmainform;implementation
uses login;
unit login;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB;type
Tloginform = class(TForm)
Button1: TButton;
Button2: TButton;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
ADOConnection1: TADOConnection;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;var
loginform: Tloginform;implementation
uses main;
{$R *.dfm}
…………………………
mainform.username:=Edit1.Text;
mainform.password:=Edit2.Text;