[英]I am unable to insert a record into my table created in oracle database. What mistake am I doing?
import java.sql.*;
import sun.jdbc.odbc.JdbcOdbcDriver;
class Jdbc1
{
public static void main(String[] args) throws Exception
{
JdbcOdbcDriver jd=new JdbcOdbcDriver();
DriverManager.registerDriver(jd);
Connection con=DriverManager.getConnection("jdbc:odbc:sai123","SYSTEM","sai123");
Statement st=con.createStatement();
int res=st.executeUpdate("insert into A1 values('1','tomato','10')");
System.out.println(res+"record is inserted..");
st.close();
con.close();
}
}
並且我將表創建為:
CREATE TABLE A1(
INO INTEGER NOT NULL,
INAME CHAR(30) NOT NULL,
IPRICE INTEGER NOT NULL
);
當我編譯並運行Java Prog時,它說“已插入1條記錄。”但是當我在SQLdeveloper中打開表時,在表中找不到任何更新。 它們都是空的! 我還為ojdbc-6.jar設置了類路徑。 我在做什么錯E? 還有其他我應該復制和粘貼的文件嗎? 我只是一個初學者,請幫忙。 以及我在Editplus中的程序如何將更新直接定向到用SQL創建的表中。 它走什么路?
Oracle默認將自動提交設置為false。 從Oracle Sql Developer(或代碼)將autocommit設置為true或從代碼提交更改:
//before con.close()
con.commit();
或者,如果您想要設置為自動提交:
//after creating Connection
conn.setAutoCommit(true);
嘗試通過調用conn.commit();
提交Record conn.commit();
另請參閱“ 為什么執行更新說”,在插入查詢時更新了一行
main的最終代碼應類似於public static void main(String[] args) throws Exception
{
JdbcOdbcDriver jd=new JdbcOdbcDriver();
DriverManager.registerDriver(jd);
Connection con=DriverManager.getConnection("jdbc:odbc:sai123","SYSTEM","sai123");
Statement st=con.createStatement();
int res=st.executeUpdate("insert into A1 values('1','tomato','10')");
System.out.println(res+"record is inserted..");
con.commit();
st.close();
con.close();
} public static void main(String[] args) throws Exception
{
JdbcOdbcDriver jd=new JdbcOdbcDriver();
DriverManager.registerDriver(jd);
Connection con=DriverManager.getConnection("jdbc:odbc:sai123","SYSTEM","sai123");
Statement st=con.createStatement();
int res=st.executeUpdate("insert into A1 values('1','tomato','10')");
System.out.println(res+"record is inserted..");
con.commit();
st.close();
con.close();
}
您的Java代碼和SQLDeveloper是否可能引用了不同的架構? 我建議做以下事情
con.commit();
之間int res=st.executeUpdate("insert into A1 values('1','tomato','10')");
和System.out.println(res+"record is inserted..");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.