2015-04-01 38 views
1

我有一個訪問2010表的超鏈接字段,我存儲客戶的電子郵件地址。在添加新電子郵件之前,我想檢查電子郵件地址是否已經存在。我嘗試使用定位語句一樣(2009年德爾福;的ADOConnection,TADOdataset):如何找到超鏈接字段

if table.locate('ML_Link',NewAdress,[locaseinsensitive]) then

這種結給人以類似的東西的順序是不允許的錯誤消息。

如何搜索超鏈接字段?

+0

如果您爲該字段添加「唯一」約束,則可以插入而不檢查。如果違反約束條件(即地址已經存在),您將得到一個異常。抓住異常並處理你想要的。 – 2015-04-03 06:49:22

回答

1

我懷疑@字符被認爲是特殊字符。我建議你試試地址分成兩個部分,電子郵件,例如域名,然後同時搜索領域

if table.locate('email;domain', VarArrayOf([NewEmail, NewDomain]), [locaseinsensitive]); 

您可能還需要變種添加到您的使用條款,這取決於你的Delphi版本..

+0

我認爲你錯了,因爲它也不適用於網址,不僅僅是E-mai llink。我相信原因是超鏈接領域。 – 2015-04-02 11:44:02

+0

以下是有關錯誤消息的更多詳細信息。這似乎只是一個delphi內部的例外。原文(德文)如下: Im Projekt VP 2 2. exe is eine eine Exception der Klasse EOIe Exception mit der Meldung'Die Reihenfolge kann nicht angewendet werden'aufgetreten。「 翻譯如下:」序列/順序不能應用「 – 2015-04-02 11:48:01

+0

我認爲URL也可能包含特殊字符..看看這篇文章.. http://support.microsoft.com/en-us/kb/826763。從這篇文章說,句點是一個特殊的字符訪問 – 2015-04-02 13:51:37

相關問題