public void update(String month,String day,String text)
{
try
{
                           Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn=DriverManager.getConnection("jdbc:odbc:Wuzuweng");
Statement sta=conn.createStatement();
String ssql="update denghou set Text='"+ text +"' where Month='" + month +"' and Day='" + day +"'";



conn.setAutoCommit(false);

sta.executeUpdate(ssql);
conn.commit();

}
catch(Exception e)
{
System.out.println(e.getMessage());
}

就是上面的这个的函数,在解释的时候就是说
[Microsoft][ODBC Microsoft Access Driver] UPDATE语句的语法错误。 指的就是下面的这个语句  String ssql="update denghou set Text='"+ text +"' where Month='" + month +"' and Day='" + day +"'";
请问各位高手,你们能看出在什么地方出现了问题了吗?
多谢了!

解决方案 »

  1.   

    你的Month和Day在数据库中定义的是字符串类型吗?
    month = " + month + "
      

  2.   

    Month和Day是文本型,Text是备注型
      

  3.   

    String ssql="update denghou set Text='"+ text +"' where Month='" + month +"' and Day='" + day +"'";改String ssql="update denghou set Text='"+ 
                text +"' where Month='" + 
                 month +"' and Day='" + day +"'";即用'+'换行连串,试试.
      

  4.   

    把sql输出来检查一下,或者手工先执行试试
      

  5.   

    把ssql输出是这样的:
    update denghou set Text='是真的吗?45' where Month='十二月' and Day='1'Text原来的值是:是真的吗?