需要帮助从 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)

需要帮助以访问 android 中的内置联系人系统

需要帮助以获取访问表单以将值插入查询

自动将新数据从 MS Access 数据库导入 SQL Server

每当将新联系人添加到联系人时,如何添加类似whatsapp的选项以进行联系