javascript中包含包含撇号的变量的SQL语句

javascript中包含包含撇号的变量的SQL语句,javascript,sql,mirth-connect,Javascript,Sql,Mirth Connect,我在mirthconnect(用于解析和分派HL7数据)中有一个工作代码,它通过jdbc将数据插入数据库 Javascript用于生成适当的SQL语句 除了变量中有特殊字符(如撇号)外,一切正常 它抛出一个“查询语法中有错误” 例如:如果variable1=“max”可以,但如果variable1=“m'ax”则不可以 有没有一种通用的方法(或最好的方法)来处理所有被禁止的字符,并确保SQL语句在每种情况下都是正确的 提前感谢您的建议 [更新] 谢谢你的建议。 我尝试了以下代码: importP

我在mirthconnect(用于解析和分派HL7数据)中有一个工作代码,它通过jdbc将数据插入数据库

Javascript用于生成适当的SQL语句

除了变量中有特殊字符(如撇号)外,一切正常

它抛出一个“查询语法中有错误”

例如:如果variable1=“max”可以,但如果variable1=“m'ax”则不可以

有没有一种通用的方法(或最好的方法)来处理所有被禁止的字符,并确保SQL语句在每种情况下都是正确的

提前感谢您的建议

[更新]

谢谢你的建议。 我尝试了以下代码:

importPackage(java.sql);
importPackage(java.io);

// database connexion information

new com.filemaker.jdbc.Driver();
var dbConn = DriverManager.getConnection('jdbc:filemaker://localhost/MYDATABASE','login','pass');


var ps = dbConn.prepareStatement("insert into Ehealth_Incoming (ehealthin_document_id_root, ehealthin_document_code_displayName, ehealthin_document_title)  values (?,?,?) ");


// parameter 1

ps.setString(1,$('id_attRoot'));

// parameter 2

ps.setString(2,$('code_attDisplayname'));

// parameter 3

ps.setString(3,$('title'));

// do it

ps.executeUpdate();

// close

ps.close();
dbConn.close();
但我收到一个“无效参数绑定”错误。知道我做错了什么吗?谢谢

[已解决]

有一个语法代码错误。
一切正常!谢谢

您应该使用PreparedStatement,将您的查询写为

INSERT INTO Table (Column1,Column2) VALUES (?,?)

然后使用
setString()
方法将您的值设置为PreparedStatement。

您应该使用PreparedStatement,将查询编写为

INSERT INTO Table (Column1,Column2) VALUES (?,?)
然后使用
setString()
方法将值设置为准备好的语句