[英]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
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.