所以我将.csv文件中的信息导入数据库.但是我在csv文件中输入用户输入的描述时遇到问题,因为它们包含撇号,这会打破SQL导入.
我的Import语句是String sqlJob =
"INSERT INTO job (ID, Job_Contact, Internal_Comment, Customer_Name,"
+ " Duration, Job_Location, Job_Completion_Date, Job_Technician,"
+ " Job_Asset, Job_Type, Job_Description) VALUES ('"
+csvRecord.get(i)+"', '"+csvRecord.get(26)+"', '"+csvRecord.get(16)
+"', '"+csvRecord.get(2)+"', '"+csvRecord.get(31)+"', '"+csvRecord.get(27)
+"', '"+csvRecord.get(28)+"', '"+csvRecord.get(29)+"', '"+csvRecord.get(30)
+"', '"+csvRecord.get(33)+"', '"+csvRecord.get(34)+"');";
Run Code Online (Sandbox Code Playgroud)
简化形式将是
"INSERT INTO job (ID, Description) VALUES ('"
+ csvRecord.get(i) + "', '" + csvRecord.get(34) + "');";
Run Code Online (Sandbox Code Playgroud)
问题csvRecord.get(34)有时会包含撇号.例如,"My name's Bob"和Bob中的撇号打破了声明该值是SQL字符串所需的周围撇号.
是否有一种简单的方法来解析字符串并在撇号前面添加转义字符,或者我应该以不同的方式格式化原始SQL命令.
谢谢!