Java 对于某些字符串值插入文本失败,但对于其他字符串值插入文本失败

Java 对于某些字符串值插入文本失败,但对于其他字符串值插入文本失败,java,database,ms-access,jdbc,odbc,Java,Database,Ms Access,Jdbc,Odbc,我有上面的代码将数据插入表中。我正在使用MS Access数据库。所有字段的类型均为(长文本)。当我插入以下数据集时,查询工作正常 email=SALMAN MAJID 萨尔曼 马吉德 测试邮件 我叫萨尔曼 但当我在最后一个字段中使用以下数据集时,相同的查询会出错。错误为语法错误,缺少运算符。。。。请不要介意这么长的文字,因为这篇文字给出了错误,所以我张贴了全文 String addQuer = "INSERT INTO emaildata VALUES('" + email + "','" +

我有上面的代码将数据插入表中。我正在使用MS Access数据库。所有字段的类型均为(长文本)。当我插入以下数据集时,查询工作正常

  • email=SALMAN MAJID
  • 萨尔曼
  • 马吉德
  • 测试邮件
  • 我叫萨尔曼
  • 但当我在最后一个字段中使用以下数据集时,相同的查询会出错。错误为语法错误,缺少运算符。。。。请不要介意这么长的文字,因为这篇文字给出了错误,所以我张贴了全文

    String addQuer = "INSERT INTO emaildata VALUES('" + email + "','" + fname + "','" + lname + "','" + subject + "','" + content + "')";
            statement.execute(addQuer);
    
    我们已升级Outlook应用程序,使其更快、更易于使用。无论您使用哪种电子邮件服务'

  • “Outlook.com”
  • 不可用
  • 不可用
  • 立即下载:Outlook应用程序
  • 获取免费的Outlook应用程序

    我们已升级Outlook应用程序,使其更快、更易于使用。无论您使用哪种电子邮件服务,Outlook应用程序都可以让您做更多的事情

  • [下载Outlook。]

    第五场到此结束。上面的文字很长,但我无法粘贴整个文字。但是错误就在我发布的这篇文章中。

    您遇到了“SQL注入”问题。包含单个引号的文本(例如,“We've…”)将导致SQL命令无效。您需要使用一个参数化查询,如下所示:

    String addquery=“插入电子邮件数据值(?,,,?,?)”;
    准备好的报表ps=conn.prepareStatement(addQuer);
    ps.setString(1,电子邮件);
    ps.setString(2,fname);
    ps.setString(3,lname);
    ps.setString(4,主题);
    ps.setString(5,内容);
    ps.executeUpdate();
    
    谢谢@Gord,这解决了我的问题。你是个伟大的人。非常感谢你。
    java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression ''Get the free Outlook app.