我在 Delphi 10.2 中有这段代码,并在 android 中运行。 数据位于远程 mysql 服务器中。
Query1.SQL.Text := '';
Query1.SQL.Add('SELECT userid, userphoto, username');
Query1.SQL.Add('FROM users');
Query1.SQL.Add('WHERE usermail = ' + #39 + Text1.Text + #39);
Query1.Execute;
问题是像这样添加的查询中的SQL
SELECT userid, userphoto, username
FROM users
WHERE usermail = 'THE TEXT
'
该 SQL 返回一个空字段。 为什么最后一个字符换行? 感谢您的回答。
最佳答案
Text1
是什么类型的组件?它接受换行吗?看起来访问 Text1.Text
返回 'THE TEXT'#10
。
尝试检查最后一个字符是否是#10
(或者可能是#13
或最后两个字符是#13#10
)并删除它们。
按照 Bruce McGee 所说的操作:使用带有参数的查询。我们不需要另一个容易受到 SQL 注入(inject)攻击的应用程序。
关于android - 在查询中添加 SQL 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43090392/