簡體   English   中英

在查詢瀏覽器中運行時,插入Query無法在代碼中運行? MYSQL Java代碼

[英]Insert Query not working in code while the same is running in the query browser ??? MYSQL Java Code

嗨,我正在嘗試在表中插入數據,我的代碼是,

{
    StringBuilder html = new StringBuilder();
    InsertData="INSERT INTO  nagios.authors VALUES ('1','1','67','0','0','1','10','0','1','2012-01-03 12:50:49','108929','2012-01-03 12:50:59','198963','21','','/usr/local/nagios/libexec/check_ping -H 192.168.1.106 -w 3000.0,80% -c 5000.0,100% -p 5','30','0','4.04159','0.102','1','PING WARNING -DUPLICATES FOUND! Packet loss = 0%, RTA = 2.86 ms','','rta=2.860000ms;3000.000000;5000.000000;0.000000pl=0%;80;100;0');";
    html.append("Data Inserted : "+ GetUpdate(InsertData) );
    return html 
}

        public int GetUpdate(String sql)
        {        
           int rs = dbOperation.DbupdateStatement(con,sql);      
            return rs;
        }

        public int DbupdateStatement(Connection con,String command)
        {
            int status =0;
            if (con != null)
            {
                try
                {
                Statement stmt = con.createStatement();
                String sql=command;
                //status = stmt.executeUpdate(command);
                return stmt.executeUpdate(sql);
            }
                catch(Exception ex)
                {

                }
            }
            return status;

        }

第一種方法是在查詢傳遞給Getupdate時在jsp上返回html,以打印“ executeupdate”的返回值,然后DbUpdateStatement方法在組合連接到數據庫並完全寫入的連接時執行查詢。創建和更新數據庫我的此方法未插入值

希望您的建議...

提前致謝!

嘗試這個

InsertData="INSERT INTO  authors VALUES ('1','1','67','0','0','1','10','0','1','2012-01-03 12:50:49','108929','2012-01-03 12:50:59','198963','21','','/usr/local/nagios/libexec/check_ping -H 192.168.1.106 -w 3000.0,80% -c 5000.0,100% -p 5','30','0','4.04159','0.102','1','PING WARNING -DUPLICATES FOUND! Packet loss = 0%, RTA = 2.86 ms','','rta=2.860000ms;3000.000000;5000.000000;0.000000pl=0%;80;100;0');";

您無需在MySql數據庫中使用表名指定架構名稱。 模式名稱僅寫在查詢瀏覽器中。

當代碼中不再需要它們時,應釋放JDBC資源,並編寫參數sql語句。

String sql="INSERT INTO TableName (col1,col2,col3) values (?,?,?)";
PreparedStatement ps=null;
try{
 ps=con.prepareStatement(sql);
 ps.setString(1,"String_value for col1");
 ps.setInt(2,10); // set int value to col2 if it is int type
 ps.setString(3,"something");
 ps.executeUpdate();
}catch(Exception ex) {

}finally {
  if(ps!=null) ps.close();
  if(con!=null) con.close();
}

只是拋出我的猜測....您可以嘗試刪除或跳過以下值之一的逗號嗎..可能逗號破壞了您的查詢...

'/usr/local/nagios/libexec/check_ping -H 192.168.1.106 -w 3000.0,80% -c 5000.0,100% -p 5'

檢查mysql數據庫中的自動提交設置。 或明確提交。 con.commit

  1. catch(Exception ex){}通過添加來顯示異常堆棧trace。

    ex.printStacktrace(); 您可能會獲得異常詳細信息,然后可以進行修復。

2.另一件事

INSERT INTO  nagios.authors VALUES ('1','1','67','0','0','1','10','0','1','2012-01-03 12:50:49','108929','2012-01-03 12:50:59','198963','21','','/usr/local/nagios/libexec/check_ping -H 192.168.1.106 -w 3000.0,80% -c 5000.0,100% -p 5','30','0','4.04159','0.102','1','PING WARNING -DUPLICATES FOUND! Packet loss = 0%, RTA = 2.86 ms','','rta=2.860000ms;3000.000000;5000.000000;0.000000pl=0%;80;100;0');";

它是否包含表的所有列,請檢查。

3.請檢查是否通過手動在sql編輯器上運行sql查詢成功將數據插入表中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM