我有三个编辑框,这些框用于将参数提供给我的数据库的查询,然后返回执行并返回所需的结果。这一切都有效,我遇到的问题是这个 :
if ((DayOfWeekSCH.Text) and (EndTimeSCH.Text) and (StartTimeSCH.Text)) <> '' then
DayOfWeekSCH
,EndTimeSCH
和StartTimeSCH
都是编辑框,我正在尝试做的是确保在执行代码执行查询之前这些框不为空。但是我得到了E2015 Error
,我不明白为什么我会得到它。
编辑:这是完整的错误代码:
[dcc32错误] PAvailableForm.pas(37):E2015运算符不适用于此操作数类型
答案 0 :(得分:2)
E2015:运算符不适用于此操作数类型
其中<string> and <string>
没有意义,因为and
被解释为布尔运算符或位运算符,具体取决于其操作数:因此错误。
请参阅Boolean Operators和Logical (Bitwise) Operators。
似乎你想要实现这样的目标:
if DayOfWeekSCH.Text + EndTimeSCH.Text + StartTimeSCH.Text <> '' then
无论如何,以上是执行字符串比较的错误方法 您可能希望查看this answer如何检查字符串是否为空。
与此问题相关,由于编辑框(例如TEdit
)来自TControl
,因此可以使用GetTextLen
方法检查文本缓冲区大小:if { {1}}文字为空。
0