需要帮助从 delphi 将新联系人插入访问 mdb
Posted
技术标签:
【中文标题】需要帮助从 delphi 将新联系人插入访问 mdb【英文标题】:need help on insert new contact into access mdb from delphi 【发布时间】:2009-11-30 15:22:15 【问题描述】:我想编写一个应用程序,它是一个通讯簿并使用访问 .mdb 文件。我知道如何将新联系人插入数据库,但我不知道如何编辑联系人。我把我的测试项目放在这里AddressBookTest.zip。欢迎任何帮助
【问题讨论】:
【参考方案1】:您的 INSERT 代码必须这样做:
qryAux.SQL.Text:='INSERT INTO tblContacts(FirstName, LastName) VALUES( ' +
QuotedStr(frmEd.edFirstName.Text) + ',' +
QuotedStr(frmEd.edLastName.Text) + ')';
这里插入两个值是正确的。
在编辑模式下,要从数据库中检索值,您必须执行 Open,而不是 ExecSQL。 并且在打开之后,你必须测试是否找到了记录。 请参阅此代码:
qryAux.Open;
// Finded?
if not (qryAux.Eof) then begin
frmEd.edFirstName.Text:=qryAux.FieldByName('FirstName').AsString;
frmEd.edLastName.Text:=qryAux.FieldByName('LastName').AsString;
end;
问候。
内夫塔利 - Germán Estévez-
【讨论】:
注意:另外,您可以在 aryAux 查询中使用参数;使用参数不需要使用 QuotedStr。 -> qryAux.SQL.Text:='INSERT INTO tblContacts(FirstName, LastName) VALUES(:fist, :last)'; 您不需要在 INSERT 语句中提供字段名称,只要您按顺序为所有字段提供值。【参考方案2】:您似乎使用的是 SQL 命令而不是编辑/插入/发布。因此,您需要的是 UPDATE 命令:
UPDATE tblContacts
SET FirstName = '''+frmEd.edFirstName.Text+''''
WHERE ID=10
要添加多个值,请用逗号分隔,例如。
SET FirstName = 'John', LastName = 'Smith'
【讨论】:
以上是关于需要帮助从 delphi 将新联系人插入访问 mdb的主要内容,如果未能解决你的问题,请参考以下文章
SQLite - 如何从 XML 文件插入 JPG 图像(使用 Delphi 2009)