无效的列名 Gull

我正在将 Sql Server 与 Netbeans 一起使用。我正在使用以下代码执行更新查询


Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");


        //Connection establishment

        Connection con=DriverManager.getConnection("jdbc:sqlserver://DESKTOP-CU5U75J\\SQLSERVER1;databaseName=SQLConnection","Fateh","Fateh");

        //Statement Object

        Statement st=con.createStatement();

        //For DML use executeUpdate method of Statement Class

        st.executeUpdate("INSERT INTO Emp"

                +"  VALUES("+2+",+Gull)");

        //Commit Statement

        con.commit();


        JOptionPane.showMessageDialog(this, "Message", "The Data is Entered", JOptionPane.INFORMATION_MESSAGE);


    } catch (ClassNotFoundException ex) {

        Logger.getLogger(Employe.class.getName()).log(Level.SEVERE, null, ex);

    } catch (SQLException ex) {

        Logger.getLogger(Employe.class.getName()).log(Level.SEVERE, null, ex);

    }

}   


噜噜哒
浏览 150回答 2
2回答

RISEBY

这条线有问题:st.executeUpdate("INSERT INTO Emp"             +"  VALUES("+2+",+Gull)");更准确地说,字符串连接被搞砸了:"INSERT INTO Emp"+"NALUES("+2+",+Gull)"将评估为这样的字符串:INSERT INTO Emp VALUES(2,+Gull)。因为它抱怨Gull列名无效,所以没有这样的列。所以我怀疑它是一些变量,你想在那里粘贴哪个值。在这种情况下,您可能想尝试:"INSERT INTO Emp" + "VALUES(" + 2 + "," + Gull + ")"这将评估为:INSERT INTO Emp VALUES(2,[whatever value Gull has])但是,请记住,如果Gull是字符串,则必须将其用引号括起来:"INSERT INTO Emp" + "VALUES(" + 2 + ",'" + Gull + "')"最后但并非最不重要的是,您很容易受到 SQL 注入的影响!你可能也想考虑一下。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java