qry1.Open;
qry1.Edit;
qry1.FieldByName('date').AsString := instRecord.date;
qry1.FieldByName('name').AsString := instRecord.name;
qry1.FieldByName('time').AsString := instRecord.time;
qry1.FieldByName('pass').AsString := instRecord.pass;
qry1.FieldByName('prbl').AsString := instRecord.prbl;
qry1.Open;
instRecord结构中的值都已经有了,qry1中的Fieldkind都是fkLookup
报的错是Qur1:Field'date'not found
为了让Qry1打开,随便连了个SQL数据库,做了一次空查询,我只想把instRecord赋值给qry1
解决方案 »
- 如何写一个这样的SQL查询
- 请问大家在哪里可以下载如下的Delphi 书籍
- 请问:在INSTALLSHIELD8中如何给安装程序加上序列号
- 哪里错了?dbgrid就是不返回记录
- 50分求EPrintSystemSD6.exe下载地址(express printing system FOR D6)
- 有点难的问题?
- 请问错在哪儿,谢谢
- 如何在程序中自动生成控件??着急~~~~~~~~~
- 如何在托盘区系统图标的-!中间!-插入我的图标?我只能插在最后!
- 在BDE中能用,在ADO中怎么不能用?
- 服务程序创建的窗体如何共享服务程序取得的INI数据文件
- 高分求教::如何用DELPHI将WORD文档(DOC格式)转换为传真文件(TIF格式)
FIeld是我自己定义的 ,不是从数据库查询出来的,和SQL语句应该没有关系吧?
附上全部代码.
控件是一个DBgridEH.一个Datasource.一个ADOquery.一个Opendialog.一个Button.很简单的一个小程序,就是想把一个Execl表中的内容导入到ADOquery中\\unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, Grids, DBGridEh, ADODB, ExtCtrls, StdCtrls,ComObj;type
TInstructRecord = record
date: string;
name: string;
time: string;
pass: string;
prbl: string; end ;
TForm1 = class(TForm)
pnl1: TPanel;
qry1: TADOQuery;
dbgrdh1: TDBGridEh;
ds1: TDataSource;
dlgOpen1: TOpenDialog;
btn1: TButton;
strngfldqry1Field: TStringField;
strngfldqry1Field1: TStringField;
strngfldqry1Field2: TStringField;
strngfldqry1Field3: TStringField;
strngfldqry1Field4: TStringField; function LoadExcel(AFileName: String): Boolean;
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}
function TForm1.LoadExcel(AFileName: String): Boolean;
var
vExcel: Variant;
i, RowCount: integer;
instRecord: TInstructRecord;
sMessage,sTemp: string;
begin
vExcel := CreateOleObject('Excel.Application'); //创建应用对象
vExcel.WorkBooks.Open(AFileName);
RowCount := vExcel.Worksheets[1].UsedRange.Rows.Count; //读行数
qry1.DisableControls();
for i := 2 to RowCount do
begin
instRecord.date := trim(vExcel.Worksheets[1].Cells[i, 1].Value);
instRecord.name := trim(vExcel.Worksheets[1].Cells[i, 10].Value);
instRecord.time := trim(vExcel.Worksheets[1].Cells[i, 11].Value);
instRecord.pass := trim(vExcel.Worksheets[1].Cells[i, 19].Value);
instRecord.prbl := trim(vExcel.Worksheets[1].Cells[i, 20].Value);
end;
begin qry1.Open;
qry1.Edit;
qry1.FieldByName('date').AsString := instRecord.date;
qry1.FieldByName('name').AsString := instRecord.name;
qry1.FieldByName('time').AsString := instRecord.time;
qry1.FieldByName('pass').AsString := instRecord.pass;
qry1.FieldByName('prbl').AsString := instRecord.prbl;
qry1.Open;
end;
qry1.EnableControls;
vExcel.WorkBooks.Close;
vExcel.Quit;
vExcel := Unassigned;
end;procedure TForm1.btn1Click(Sender: TObject);
var
sFileName:String;
begin
if Not dlgOpen1.Execute() then Exit;
sFileName := dlgOpen1.FileName;
LoadExcel(sFileName)
end;end.