学习delphi过程中收集的一些功能代码(整理中)

来源:互联网 发布:中国移动 网络强国 编辑:程序博客网 时间:2024/06/16 02:42

目录:

1.控件在DBEdit中只能输入数字;

2.清空stringgrid中的值(除第一行标题外);

3.填充stringgrid的各个单元格(数据源是ADOQuery,表格第一行是标题,不填充)

4.把stringgrid中类型为'新增'的记录插入表

**************

内容

1.控件在DBEdit中只能输入数字

procedure TBookOrder.DBEdit6KeyPress(Sender: TObject; var Key: Char);
begin
if(key<=#39)and(key>=#30) then
 dbedit6.Text:=dbedit6.Text+key;
end;

 

2.清空stringgrid中的值(除第一行标题外)

//本例子假设stringgrid1有7列12行

procedure TBookBorrow.cleargrid;
var
i,j:integer;
begin
 for i:=1 to 11 do
  for j:=0 to 6 do
   stringgrid1.Cells[j,i]:='';
end;

 

3.填充stringgrid的各个单元格(数据源是ADOQuery,表格第一行是标题,不填充)

var

   i  : Integer;

begin

     i := 1;

     ADOQuery2.Close;
    ADOQuery2.SQL.Clear;
    ADOQuery2.SQL.Add('select * from 借阅情况');

    ADOQuery2.Open;
    i := 1;                                   //i在这里既是统计记录数的变量,又是表表格的行号;
    while not ADOQuery2.Eof do
    begin
      stringgrid1.Cells[0,i] := ADOQuery2.FieldByName('状态').AsString;
      stringgrid1.Cells[1,i] := ADOQuery2.FieldByName('图书编号').AsString;
      stringgrid1.Cells[2,i] := ADOQuery2.FieldByName('书名').AsString;
      stringgrid1.Cells[3,i] := ADOQuery2.FieldByName('借书时间').AsString;
      stringgrid1.Cells[4,i] := ADOQuery2.FieldByName('应还时间').AsString;
      stringgrid1.Cells[5,i] := ADOQuery2.FieldByName('出版社').AsString;
      stringgrid1.Cells[6,i] := ADOQuery2.FieldByName('价格').AsString;
      i := i + 1;
      ADOQuery2.Next;
    end; 

end;

 

4.把stringgrid中类型为'新增'的记录插入表

procedure TBookBorrow.ToolButton1Click(Sender: TObject);
var
  maxnum : Integer;
  i      : Integer;
begin
 ADOQuery2.Close;
 ADOQuery2.SQL.Clear;
 ADOQuery2.SQL.Add('select max(借阅编号)as 最大编号 from ͼÊé½èÔÄ');
 ADOQuery2.Open;
 maxnum := (ADOQuery2.FieldByName('最大编号').AsInteger)+1;

 ADOCommand1.CommandText := 'SET IDENTITY_INSERT 图书借阅 ON';
 ADOCommand1.Execute;
 for i :=1 to 12 do
   if stringgrid1.Cells[0,i]= '新增' then
   begin
     adocommand1.CommandText:='insert into 图书借阅([借阅编号], [图书编号], [读者编号], [借阅时间], [应还时间], [续借次数],  [状态) values('''+inttostr(maxnum)+''','''+stringgrid1.Cells[1,i]+''','''+usernum+''','''+stringgrid1.Cells[3,i]+''','''+stringgrid1.cells[4,i]+''',''0'',''未还'')';
     adocommand1.Execute;
     maxnum := maxnum + 1;
   end;
 ADOCommand1.CommandText := 'SET IDENTITY_INSERT 图书借阅 OFF';
 ADOCommand1.Execute;
end;

 

 

 

原创粉丝点击