我正在使用Firebird SQL语句更新表中的字符串,并使用用户键入的信息。但是,如果用户输入的字符串有撇号,则会产生错误,因为SQL语法不再正确读取。
我想我可以读取字符串并删除所有撇号实例,但我想知道是否有更简单的方法。
{编辑2017年5月17日} 我正在使用Firebird 2.5(作为名为Ostendo的软件程序的一部分)
以下是代码摘录:
UpdatedMsg := frmPOLineNotesMemo.Lines.text;
SQLUpdateStr := 'update ASSEMBLYLINES set LINENOTES = LINENOTES || '''+ UpdatedMsg +''' Where SYSUNIQUEID = ' + AssyPropertyLine + '';
ExecuteSQL(SQLUpdateStr);
frmPOLineNotesMemo.Lines.Text是用户通过表单输入的信息。
答案 0 :(得分:0)
你需要加倍字符串中的撇号。 在此处找到:https://firebirdsql.org/manual/qsg10-firebird-sql.html
但请记住评论。用户输入应作为参数传递,以避免安全问题。