我通过Delphi程序向access数据库中某一张数据表中添加时,的问题如下
发布网友
发布时间:2022-04-08 02:00
我来回答
共2个回答
懂视网
时间:2022-04-08 06:21
答:原因是插入语句中的字段名是DELPHI的内部标示符。
ACCESS-delphi向中插入一条记录报错,但ACCESS不会
标签:
热心网友
时间:2022-04-08 03:29
关键示例代码:
'INSERT INTO aaa (prd_no, SPC, UT, DFU_UT, KND, IDX1, NAME, SUP1)' +
' SELECT' +
' prd_no, SPC, UT, DFU_UT, KND, IDX1, NAME, SUP1' +
' FROM [excel 8.0;database=' + xlspath + '].[PRDT$]';
相对完整的代码示例:
procere TForm1.Button1Click(Sender: TObject);
var
sSql, mdbpath, xlspath: string;
begin
if (trim(edit1.Text) = '') or (trim(edit2.Text) = '') then
begin
MessageBox(GetActiveWindow(), '请正确选择相关路径!', '警告', MB_OK +
MB_ICONWARNING);
exit;
end;
mdbpath := trim(edit1.Text); //MDB路径
xlspath := trim(edit2.Text); //Excel路径
ADOConnection1.Connected := False;
try
ADOConnection1.ConnectionString :=
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' +
mdbpath + ';Persist Security Info=False';
ADOConnection1.Connected := true;
try
adoquery1.Close;
adoquery1.SQL.Clear;
sSql :=
'INSERT INTO aaa (prd_no, SPC, UT, DFU_UT, KND, IDX1, NAME, SUP1)' + //prd_no, SPC, UT, DFU_UT, KND, IDX1, NAME, SUP1
' SELECT' +
' prd_no, SPC, UT, DFU_UT, KND, IDX1, NAME, SUP1' +
' FROM [excel 8.0;database=' + xlspath + '].[PRDT$]';
adoquery1.Parameters.Clear;
adoquery1.ParamCheck := false;
adoquery1.SQL.Text := sSql;
adoquery1.Execsql;
MessageBox(GetActiveWindow(), '批量导入EXCEL成功!', '警告', MB_OK +
MB_ICONWARNING);
form2:=tform2.create(nil);
with form2.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Text:='SELECT * FROM AAA';
Open;
end;
form2.ShowModal;
form2.Free;
except
MessageBox(GetActiveWindow(), '批量导入EXCEL失败!', '警告', MB_OK +
MB_ICONWARNING);
end;
except
MessageBox(GetActiveWindow(), '连接ACCESS失败!', '警告', MB_OK +
MB_ICONWARNING);
end;
end;
delphi中对access数据库进行insert操作出错~
可能是addr字段类型不符,也可能是name字段设为主键而你重复插入了。insert into aa(addr) values("b") 这句可以吗?那你在access中的查询窗口里运行一下,看看提示什么错误?
在C#中向access数据库中插入数据怎么出错了
如果你的列名和表名没有拼错,而且都加上[]号,仍旧出错,最大的可能是权限错误,就是数据库没有写权限,右击数据库文件,选择属性,点“安全”,然后点“添加”按钮,输入“everyone”,选择下面的“完全控制”,然后确定。
...用delphi的ADO组件对access数据库插入数据的问题!纠结了一个星期了...
添加一个ADOQuery1,设置SQL属性:select * from tablename,我一般都直接写死的,再设置active为true, 有问题的话,没有启动成功的话,检查一下,然后下面是添加数据的代码://***添加数据 ADOQuery1.Insert;ADOQuery1['这里是表中的列名']:=Edit1.Text;ADOQuery1['这里是表中的列名']:=Edit2...
Delphi7中access数据库时间显示问题
DBGRID中的数据来自于ADOTable 或ADOQuery吧? 请双击ADOTable 或ADOQuery,打开字段编辑窗口,然后右击并选择“Add All Fields”,将所有字段添加到字段编辑器窗口,再选中WPStartTime字段,然后在属性窗口中设置DisplayFormat属性为 t 即可。
delphi中如何实现对一个表的添加数据?
又建了一个FORM,通过一个edit和botton,通过botton按钮来这个ADOTABLE添加数据,下面是botton里的代码 begin form1.ADOTable1.Insert;form1.ADOTable1.FieldByName('sfz').AsString:=edit1.Text;form1.ADOTable1.Post;close;end;这是往数据库里追加程序的一段代码:如果你的adotable和from和当前的...
delphi dbGrid显示数据库里面的一张表
con1.Open;qry1.Close;//同con1,它的SQL属性可以手动设置,也可以动态添加 //qry1.SQL.Add('select * from test');qry1.Open;qry1.ExecSQL;end;PS:这只是用DBGrid显示数据库表的一种方式,确实还有很多别的方法。如果你只是单纯的显示一张表的数据,可以把TADOQuery换成TADOTable控件,ds1的...
用Delphi 7 的数据库 ADO 显示Access 的数据表,其中的单精度数显示为...
用formatfloat('0.00',变量)函数就可以了。如: a1:=formatfloat('0.00',a2); //现今时代,你能对DELPHI产生兴趣真是难能可贵呀!
vb中,对一个access数据库添加记录,不是追加到最后,而是插入到了中间...
根据磁盘文件的存储方式,所有的文件中添加数据时,都是插入到文件的末尾。你认为的Access打开后插入到了中间,其实是Access将数据解析后进行了按默认(应该是按第一个字段)排序的结果。要想Access出现你想要的排序方式,右键单击你要排序的字段(你的是最后面的那个字段),选择按升序排序就好了。如果要...
往access里添加新记录的问题
在窗体数据表时可以查找相关的记录,那么在窗体表中想要添加新的记录,接下来就简单的分享下方法。1、首先在acces窗体的显示表中,单击添加记录按钮。2、然后即可添加空白记录段添加之后,并输入文字。3、然而单击空白处,即可添加成功,如下图所示。4、如果想要删除,这时选中要删除的记录字段。5、然后在...
delphi编程问题请教:用ADOConnection控件实现从EXCEL表导入数据到...
一、检查一下你的ID是不是自动编号,如果是没有必要,这是access自动生成。二、将ID这个字段名换一下,不知道ID是不是access的保留关键字,不过你可以试一试。