回 帖 发 新 帖 刷新版面

主题:[讨论]高手们帮忙讲解一下下面的几段代码吧~辛苦辛苦~~

请高手们帮忙详细的讲解下各语句的含义吧~~看了好久没看明白~劳驾各位拉~~谢谢~~我会给帖子评分的~不会让你们白辛苦~~


第一段:
adoquery1.ExecSQL;
    adoquery1.Close;
    adoquery1.SQL.Clear;
adoquery1.sql.add('delete from 单位信息表');

第二段:
adoquery1.Parameters.clear;
    adoquery1.Parameters.AddParameter;
    adoquery1.Parameters[0].name:='s0';
    adoquery1.Parameters[0].DataType:=ftstring;
    adoquery1.Parameters[0].Direction:=pdinput;
    adoquery1.Parameters[0].Value:='admin';

第三段:
if adotable1.Eof then
        bitbtn4.Enabled:=false
    else
        loadfromtable;
end;

第四段:
adodataset1:=TAdoDataset.Create(self);
        adodataset1.Connection:=adoconnection1;
        adodataset1.Close;
        adodataset1.CommandType:=cmdText;
        adodataset1.CommandText:='select * from 班级表 where 班级名=:classname';

第五段:
if adodataset1.Recordset.RecordCount=1 then...

第六段:
procedure TClassForm.BitBtn1Click(Sender: TObject);
begin
    if new_record then
    begin
      adotable1.Append;
      adotable1.FieldByName('书费').AsCurrency:=0;
      new_record:=false;
    end;
    savetotable;
    if adotable1.Recordset.RecordCount>0 then
          bitbtn4.Enabled:=true;
end;

第七段:
procedure TClassForm.LoadFromTable;
begin
    edit1.text:=adotable1.FieldByName('班级名').asstring;
    maskedit1.text:=DatetoStr(adotable1.FieldByName('入学时间').asdatetime);
    edit3.text:=adotable1.FieldByName('所在院系').AsString;
    edit4.text:=adotable1.FieldByName('班长').asstring;
    edit5.Text:=adotable1.fieldbyname('班长联系电话').asstring;
    edit6.text:=adotable1.FieldByName('班主任').asstring;
    edit7.Text:=adotable1.FieldByName('班主任联系电话').asstring;
    edit2.text:=adotable1.FieldByName('所学专业').asstring;
    edit8.text:=IntToStr(adotable1.FieldByName('班级人数').asinteger);    
end;

第八段:
procedure TClassForm.BitBtn4Click(Sender: TObject);
begin
    adotable1.Delete;
    adotable1.first;
end;

第九段:
procedure TBookFeeForm.FormActivate(Sender: TObject);
var
    adotable1:TAdoTable;
begin
    AdoTable1:=TAdoTable.Create(self);
    AdoTable1.Connection:=adoconnection1;
    adotable1.tablename:='班级表';
    adotable1.Active:=true;
    edit1.Text:=floattostr(adotable1.fieldbyname('书费').ascurrency);
    initiate;
    ComboBox1.Items.Clear;
    while not adotable1.Eof do
    begin
        ComboBox1.Items.add(adotable1.fieldbyname('班级名').asstring);
        adotable1.next;
    end;
    combobox1.text:='';
    adotable1.Close;
end;






[em2][em2]

回复列表 (共3个回复)

沙发

第一段:
adoquery1.ExecSQL; //执行adoquery1中的更新数据库的操作
    adoquery1.Close;//停止adoquery1的执行
    adoquery1.SQL.Clear;//清除adoquery1中SQL语句
adoquery1.sql.add('delete from 单位信息表');//向adoquery1中添加SQL语句

第二段:
adoquery1.Parameters.clear; //清除adoquery1中的参数列表
    adoquery1.Parameters.AddParameter;//向adoquery1中添加参数
    adoquery1.Parameters[0].name:='s0'; //设置参数名称
    adoquery1.Parameters[0].DataType:=ftstring; //设置参数数据类型
    adoquery1.Parameters[0].Direction:=pdinput; //设置参数类型
    adoquery1.Parameters[0].Value:='admin'; //设置参数初始值

第三段:
if adotable1.Eof then   //如果adoquery1没有查询结果
        bitbtn4.Enabled:=false  //按钮bitbtn4处于灰色显示
    else
        loadfromtable;//执行程序自定义的过程
end;

第四段:
adodataset1:=TAdoDataset.Create(self);  //创建一个数据源组件
        adodataset1.Connection:=adoconnection1; //为改数据源组件设置数据库连接组件
        adodataset1.Close; //关闭adodataset
        adodataset1.CommandType:=cmdText; //设置adodataset1的sql命令类型
        adodataset1.CommandText:='select * from 班级表 where 班级名=:classname'; //设置adodataset1的sql语句

第五段:
if adodataset1.Recordset.RecordCount=1 then...//判断adodataset1的执行影响的记录数是否为1

第六段:
procedure TClassForm.BitBtn1Click(Sender: TObject);
begin
    if new_record then
    begin
      adotable1.Append;
      adotable1.FieldByName('书费').AsCurrency:=0;
      new_record:=false;
    end;
    savetotable;
    if adotable1.Recordset.RecordCount>0 then
          bitbtn4.Enabled:=true;
end;

第七段:
procedure TClassForm.LoadFromTable;
begin
    edit1.text:=adotable1.FieldByName('班级名').asstring;//将当前记录的“班级名”值赋予edit1
    maskedit1.text:=DatetoStr(adotable1.FieldByName('入学时间').asdatetime);
    edit3.text:=adotable1.FieldByName('所在院系').AsString;
    edit4.text:=adotable1.FieldByName('班长').asstring;
    edit5.Text:=adotable1.fieldbyname('班长联系电话').asstring;
    edit6.text:=adotable1.FieldByName('班主任').asstring;
    edit7.Text:=adotable1.FieldByName('班主任联系电话').asstring;
    edit2.text:=adotable1.FieldByName('所学专业').asstring;
    edit8.text:=IntToStr(adotable1.FieldByName('班级人数').asinteger);    
end;

第八段:
procedure TClassForm.BitBtn4Click(Sender: TObject);
begin
    adotable1.Delete;//从数据源中删除当前记录
    adotable1.first;//将数据源的第一条记录定位为当前记录
end;

第九段:
procedure TBookFeeForm.FormActivate(Sender: TObject);
var
    adotable1:TAdoTable;
begin
    AdoTable1:=TAdoTable.Create(self);
    AdoTable1.Connection:=adoconnection1;
    adotable1.tablename:='班级表';
    adotable1.Active:=true;
    edit1.Text:=floattostr(adotable1.fieldbyname('书费').ascurrency);
    initiate;
    ComboBox1.Items.Clear;//将Combobox1中的列表清空
    while not adotable1.Eof do //判断是否遍历到数据源的最后一行
    begin
        ComboBox1.Items.add(adotable1.fieldbyname('班级名').asstring);//将当前记录的的“班级名”添加到ComboBox1的列表中
        adotable1.next;//将当前记录的下条记录作为下次循环的当前记录
    end;
    combobox1.text:='';//将Combobox1中当前显示的文本清空(并非清空列表)
    adotable1.Close;
end;

板凳

edit1.Text:=floattostr(adotable1.fieldbyname('书费').ascurrency);

 那这句话啥意思呢????

adoquery1.Parameters[0].DataType:=ftstring; //设置参数数据类型
    adoquery1.Parameters[0].Direction:=pdinput; //设置参数类型
那这个ftstring和pdinput是什么类型的呢??

3 楼

edit1.Text:=floattostr(adotable1.fieldbyname('书费').ascurrency);
//把floattostr(adotable1.fieldbyname('书费').ascurrency,float型 转换成string型,然后输出到Edit1显示出来。

我来回复

您尚未登录,请登录后再回复。点此登录或注册