delphi里关于DBgrid,DBNavigator,DBEdit的问题
unitUnit12;interfaceusesWindows,Messages,SysUtils,Variants,Classes,Graphics,Controls,...
unit Unit12;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls,DB, DBTables,ComCtrls, Grids, DBGrids,
DBCtrls, Mask;
type
TForm12 = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
Panel2: TPanel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
DBNavigator1: TDBNavigator;
DBGrid1: TDBGrid;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form12: TForm12;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm12.BitBtn1Click(Sender: TObject);
begin
DataModule2.SortTable.ApplyUpdates;
DataModule2.SortTable.cachedupdates:=false;
DataModule2.SortTable.Active:=false;
showmessage('修改成功!') ;
modalresult:=mrok;
end;
procedure TForm12.BitBtn2Click(Sender: TObject);
begin
DataModule2.SortTable.cancelUpdates;
DataModule2.SortTable.cachedupdates:=false;
DataModule2.SortTable.Active:=false;
Form12.Close;
end;
procedure TForm12.FormCreate(Sender: TObject);
begin
with datamodule2.SortTable do
begin
DatabaseName:='sell';
TableName:='SortTable.DB';
IndexFieldNames:='SortNo';
end ;
end;
procedure TForm12.FormActivate(Sender: TObject);
begin
DataModule2.SortTable.Active:=true;
DataModule2.SortTable.cachedupdates:=true;
end;
end.
各控件属性也都设置好了无误,
我有别的窗口和这个差不多的,运行打开窗体,数据直接就在DBGrid,相应字段也在相应的DBEdit里了,就是这个窗体,运行了也不见数据,高手请帮忙看看吧! 展开
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls,DB, DBTables,ComCtrls, Grids, DBGrids,
DBCtrls, Mask;
type
TForm12 = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
Panel2: TPanel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
DBNavigator1: TDBNavigator;
DBGrid1: TDBGrid;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form12: TForm12;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm12.BitBtn1Click(Sender: TObject);
begin
DataModule2.SortTable.ApplyUpdates;
DataModule2.SortTable.cachedupdates:=false;
DataModule2.SortTable.Active:=false;
showmessage('修改成功!') ;
modalresult:=mrok;
end;
procedure TForm12.BitBtn2Click(Sender: TObject);
begin
DataModule2.SortTable.cancelUpdates;
DataModule2.SortTable.cachedupdates:=false;
DataModule2.SortTable.Active:=false;
Form12.Close;
end;
procedure TForm12.FormCreate(Sender: TObject);
begin
with datamodule2.SortTable do
begin
DatabaseName:='sell';
TableName:='SortTable.DB';
IndexFieldNames:='SortNo';
end ;
end;
procedure TForm12.FormActivate(Sender: TObject);
begin
DataModule2.SortTable.Active:=true;
DataModule2.SortTable.cachedupdates:=true;
end;
end.
各控件属性也都设置好了无误,
我有别的窗口和这个差不多的,运行打开窗体,数据直接就在DBGrid,相应字段也在相应的DBEdit里了,就是这个窗体,运行了也不见数据,高手请帮忙看看吧! 展开
2个回答
展开全部
是设置不对,数据库程序看代码看不出很多问题。只能作如下猜测:
一、DBgrid,DBNavigator,DBEdit的DataSource属性中有没有TDataSource,如果没有,那就不能显示。你单元文件中没看到使用TDataSource控件。
二、你的Unit2单元里放的是数据库控件,如果是这样,并且该单元中有TDataSource控件,那你要在本单元中,将DBgrid,DBNavigator,DBEdit的DataSource属性设置相应DataSource;
三、Unit2单元中的TDataSource控件中DataSet属性是设置相应的tabel或Query;
如果都进行了相应设置,你上面的问题就解决了。
一、DBgrid,DBNavigator,DBEdit的DataSource属性中有没有TDataSource,如果没有,那就不能显示。你单元文件中没看到使用TDataSource控件。
二、你的Unit2单元里放的是数据库控件,如果是这样,并且该单元中有TDataSource控件,那你要在本单元中,将DBgrid,DBNavigator,DBEdit的DataSource属性设置相应DataSource;
三、Unit2单元中的TDataSource控件中DataSet属性是设置相应的tabel或Query;
如果都进行了相应设置,你上面的问题就解决了。
追问
我的Unit2是一个data module,那里有Table和DataSourse,问题找到了,是active和cachedupdates应该设成true,谢谢你。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询