adotable和table的使用,仅剩15分求教!!!!(15分)

  • 主题发起人 主题发起人 stonehuang
  • 开始时间 开始时间
S

stonehuang

Unregistered / Unconfirmed
GUEST, unregistred user!
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, StdCtrls, ADODB;

type
TForm1 = class(TForm)
DataSource1: TDataSource;
ComboBox1: TComboBox;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Table1: TTable;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
table1.Filter:='ID='''+form1.Edit1.Text+'''';
table1.Filtered:=true;
table1.Open;
if table1.RecordCount=1 then
begin
case form1.ComboBox1.ItemIndex of
0:
begin
if table1['pws']=form1.Edit2.Text then
begin
if table1['authority']='1' then
begin
form1.Hide;
form2.show;
end;
end
else
application.MessageBox('sss','sss',mb_ok);
end;
end;
end;
end;
end.
上面的代码可以成功执行!
当我把其中的table换成adotable后,就无法实现此功能了,请问为什么????
那怎么才可以用adotable实现我上面的功能呢?adotable的可以连接数据库呢!!!

 
难道就没有人愿意乐于助人么?
 
和具体的数据库有关。注意一个字段类型。

必须要可使用 .asstring 等。
 
你可以用adotable.fieldvalues['pws']这样的语句呀!
 
用adotable.fieldvalues['pws']这样的语句也不行啊,我试验过啦!!!
不知道高手们是否可以帮忙帮忙啊!
 
改用adodataset支持过滤和主从表
 
改用adodataset支持过滤和主从表
 
需要改adodataset支持过滤和主从表。
另外可以改用ado的本身属性方法
 
老兄,你没有执行不了是什么情况,代码检查有错吗?
有错,什么错误
没错,跟踪时如何执行的
这些应该先说清楚
 
代码可以执行,但其代码形成软件的功能无法使用!!!
你可以执行后点按钮就可以发现根本无法有效(当adotable连接sql server的某个table时)!
 
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB;

type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
Table1: TADOTable;
Edit1: TEdit;
Edit2: TEdit;
ComboBox1: TComboBox;
Button1: TButton;
ADODataSet1: TADODataSet;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
try
ADODataSet1.Close;
ADODataSet1.CommandText:='select * from pws';
adodataset1.CommandType:=cmdtext;
if ((edit1.Text<>'')and(edit2.Text<>''))then
begin
adodataset1.Filtered:=false;
ADODataSet1.Filter:='ID='+quotedstr(Edit1.Text);
ADODataSet1.Filtered:=true;
end;
ADODataSet1.Open;
except
application.Terminate;
end;
if ADODataSet1.RecordCount=1 then
begin
case form1.ComboBox1.ItemIndex of
0:
begin
if ADODataSet1.FieldValues['pws']=quotedstr(Edit2.Text) then
begin
if ADODataSet1.FieldValues['auto']='1' then
begin
form1.Hide;
form2.show;
end;
end
else
application.MessageBox('sss','sss',mb_ok);
end;
end;
end;
end;
end.
各位大侠,我根据各位的提点修改程序,可惜的是form2还是不能show!
我在sql server中建立一个table为pws,有id、pws、auto等三个项目,可就是不能通过点击按钮实现form2的show!!!
各位看看我错在哪里,帮忙帮忙啊!
 
你的代码很难看!!!!!
幸好我不需要改你的程序
 
哦,我是举例子来说明这问题,没有考虑代码的风格,意在求快!!!
 
接受答案了.
 
后退
顶部