導航:首頁 > 編程語言 > javajdbcinsert

javajdbcinsert

發布時間:2023-04-05 10:56:07

❶ 怎樣編寫一個java程序能通過jdbc訪問資料庫實現對資料庫的插入、刪除、修改和查詢

1.增加x0dx0aString s1="insert into tableNames (id,name,password) values(myseq.nextval,?,?);"x0dx0aClass.forName(driver);x0dx0aConnection conn = DriverManager.getConnection(url,dbUser,dbPwd);x0dx0aPreparedStatement prepStmt = conn.prepareStatement(s1);x0dx0aprepStmt.setString(1,name);x0dx0aprepStmt.setString(2,password);x0dx0aResultSet rs=stmt.executeUpdate();x0dx0a2、刪除x0dx0aString s2="delete from tbNames where name=?";x0dx0aClass.forName(driver);x0dx0aConnection conn = DriverManager.getConnection(url,dbUser,dbPwd);x0dx0aPreparedStatement prepStmt = conn.prepareStatement(s2);x0dx0aprepStmt.setString(1,name);x0dx0aResultSet rs=stmt.executeUpdate();x0dx0a3、修改x0dx0aString s3=「update tbNames set name=? where id=?」;x0dx0aClass.forName(driver);x0dx0aConnection conn = DriverManager.getConnection(url,dbUser,dbPwd);x0dx0aPreparedStatement prepStmt = conn.prepareStatement(s3);x0dx0aprepStmt.setString(1,name);x0dx0aprepStmt.setString(2,id);x0dx0aResultSet rs=stmt.executeUpdate();x0dx0a4、查詢x0dx0aString s4="select id,name,password from tbNames";x0dx0aClass.forName(driver);x0dx0aConnection conn = DriverManager.getConnection(url,dbUser,dbPwd);x0dx0aStatement stmt=conn.createStatement();x0dx0aResultSet rs = stmt.executeQuery(s4);x0dx0awhile(rs.next){x0dx0aint id=rs.getInt(1);x0dx0aString name = rs.getString(2);x0dx0aString pwd=rs.getString(3);x0dx0aSystem.out.println(id+name+pwd); } x0dx0ax0dx0a以上四步必須都得關閉連接;!!!x0dx0ars.close();x0dx0astmt.close();x0dx0aconn.close();

❷ java的jdbc問題,代碼沒報錯,但是沒能insert student表,查詢失敗,大神指教

SQL="insert into student (name,age,ID) values ('a',20,18)";

❸ java 用 jdbc 插入一條信息返回當前信息的主鍵id 怎樣寫 oracle的資料庫 主鍵序列自增

有兩種方法可以設置主鍵,一種是自增長主鍵,另一種就是生成唯一序列。
一、自增長主鍵
--首先建一個表TEST
create table TEST
(
NID int PRIMARY KEY,
test1 varchar2(20),
test2 varchar2(20),
test3 varchar2(20),
test4 varchar2(20),
test5 varchar2(20)
)
-- 再建一個序列SEQ_TEST
create sequence SEQ_TEST
minvalue 1 --最小值
nomaxvalue --不設置最大值
start with 1 --從1開始計數
increment by 1 --每次加1個
nocycle --一直累加,不循環
nocache; --不建緩沖區
以上代碼完成了一個序列(sequence)的建立過程,名稱為SEQ_TEST,范圍是從1開始到無限大(無限大的程度是由你機器決定的),nocycle 是決定不循環,如果你設置了最大值那麼你可以用cycle 會使seq到最大之後循環.對於nocache順便說一下如果你給出了cache值那麼系統將自動讀取你的cache值大小個seq,這樣在反復操作時會加快運行速度,但如果遭遇意外情況如當機了或Oracle死了,則下次取出的seq值將和上次的不連貫.(如果連不連貫無所謂建議用cache,因為時間就是金錢呀!)
你只有了表和序列還不夠,最好再建一個觸發器來執行它!代碼如下:
CREATE OR REPLACE TRIGGER tg_test
BEFORE INSERT ON test FOR EACH ROW WHEN (new.nid is null)
begin
select seq_test.nextval into:new.nid from al;
end;

下面是測試
select * from test
insert into test(nid,test1) values(6,'aaa')
insert into test(test1) values('bbb')

❹ Java:通過JDBC進行數據insert,如果插入失敗如何判斷是因為語句錯誤還是資料庫滿了

你肯定還沒看java的異常捕獲吧。

這個很簡遲螞孫單,只物臘要catch一下異常就行了。

插入失敗是會報錯的,你捕獲這個錯誤,返回給你,即可。

示例代碼:

try
{
stat.executeUpdate(sql);
}
catch(SQLException碼鏈e){
out.println("<pstyle="font-size:20px;color:red">"+"出錯啦,請聯系管理員!<br>"+"錯誤信息:"+e.toString()+""+"</p>");
}

❺ 編寫一個java程序,通過jdbc訪問資料庫實現對資料庫的插入,刪除,修改和查詢操作

我剛寫了一個只有插入的,望採納
import java.sql.*;
import java.util.*;
public class TestPre {
public static void main(String[] args) {
int i=0,deptno=0;//i只做while循環使用,deptno是表dept2中的一個屬性,類型是int
String dname=null,loc=null;//dname和loc也是表dept2的屬性,類型是String
Scanner s=new Scanner(System.in);
System.out.println("請輸入3個大慎敬參數");
while(i<3){
try{
deptno=s.nextInt();
i++;
dname=s.next();
i++;
loc=s.next();
i++;
}catch(InputMismatchException e){
System.out.println("輸入的類型不符,退出");
System.exit(-1);
}
}
Connection conn=null;
PreparedStatement pstmt=null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost/mydata?"+ "滾慎user=root&password=root");
pstmt=conn.prepareStatement("insert into dept2 values(?,?,?)");
pstmt.setInt(1, deptno);
pstmt.setString(2, dname);
pstmt.setString(3, loc);
pstmt.executeUpdate();
System.out.println("插入完成");
} catch (ClassNotFoundException e) {
System.out.println("孝碧連接資料庫不成功,程序退出");
System.exit(-1);
} catch (SQLException e) {
System.out.println("連接資料庫不成功,程序退出");
System.exit(-1);
}
finally{
try{
if(pstmt!=null){
pstmt.close();
pstmt=null;
}
if(conn!=null){
conn.close();
conn=null;
}
}catch(SQLException e){
e.printStackTrace();
}
}
}
}

❻ java中使用JDBC完成資料庫操作的基本步驟是什麼

創建一個以JDBC連接資料庫的程序,包含7個步驟: x0dx0a 1、載入JDBC驅動程序: x0dx0a 在連接資料庫之前,首先要載入想要連接的資料庫的驅動到JVM(Java虛擬機), x0dx0a 這通過java.lang.Class類的靜態方法forName(String className)實現。 x0dx0a 例如: x0dx0a try{ x0dx0a //載入MySql的驅動類 x0dx0a Class.forName("com.mysql.jdbc.Driver") ; x0dx0a }catch(ClassNotFoundException e){ x0dx0a System.out.println("找不到驅動程序類 ,載入驅動失敗!"); x0dx0a e.printStackTrace() ; x0dx0a } x0dx0a 成功載入後,會將Driver類的實例注冊到DriverManager類中。 x0dx0a 2、提供JDBC連接的URL x0dx0a •連接URL定義了連接資料庫時的協議、子協議、數據源標識。 x0dx0a •書寫形式:協議:子協議:數據源標識 x0dx0a 協議:在JDBC中總信返是以jdbc開始 x0dx0a 子協議:是橋滑彎飢連接的驅動程序或是資料庫管理系統名稱。 x0dx0a 數據源標識:標記找到資料庫來源的地址與連接埠。 x0dx0a 例如:(MySql的連接URL) x0dx0a jdbc:mysql: x0dx0a /鬧陵/localhost:3306/test?useUnicode=true&characterEncoding=gbk ; x0dx0a useUnicode=true:表示使用Unicode字元集。如果characterEncoding設置為 x0dx0a gb2312或GBK,本參數必須設置為true 。characterEncoding=gbk:字元編碼方式。 x0dx0a 3、創建資料庫的連接 x0dx0a •要連接資料庫,需要向java.sql.DriverManager請求並獲得Connection對象, x0dx0a 該對象就代表一個資料庫的連接。 x0dx0a •使用DriverManager的getConnectin(String url , String username , x0dx0a String password )方法傳入指定的欲連接的資料庫的路徑、資料庫的用戶名和 x0dx0a 密碼來獲得。 x0dx0a 例如: x0dx0a //連接MySql資料庫,用戶名和密碼都是root x0dx0a String url = "jdbc:mysql://localhost:3306/test" ; x0dx0a String username = "root" ; x0dx0a String password = "root" ; x0dx0a try{ x0dx0a Connection con = x0dx0a DriverManager.getConnection(url , username , password ) ; x0dx0a }catch(SQLException se){ x0dx0a System.out.println("資料庫連接失敗!"); x0dx0a se.printStackTrace() ; x0dx0a } x0dx0a 4、創建一個Statement x0dx0a •要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3 x0dx0a 種類型: x0dx0a 1、執行靜態SQL語句。通常通過Statement實例實現。 x0dx0a 2、執行動態SQL語句。通常通過PreparedStatement實例實現。 x0dx0a 3、執行資料庫存儲過程。通常通過CallableStatement實例實現。 x0dx0a 具體的實現方式: x0dx0a Statement stmt = con.createStatement() ; x0dx0a PreparedStatement pstmt = con.prepareStatement(sql) ; x0dx0a CallableStatement cstmt = x0dx0a con.prepareCall("{CALL demoSp(? , ?)}") ; x0dx0a 5、執行SQL語句 x0dx0a Statement介面提供了三種執行SQL語句的方法:executeQuery 、executeUpdate x0dx0a 和execute x0dx0a 1、ResultSet executeQuery(String sqlString):執行查詢資料庫的SQL語句 x0dx0a ,返回一個結果集(ResultSet)對象。 x0dx0a 2、int executeUpdate(String sqlString):用於執行INSERT、UPDATE或 x0dx0a DELETE語句以及SQL DDL語句,如:CREATE TABLE和DROP TABLE等 x0dx0a 3、execute(sqlString):用於執行返回多個結果集、多個更新計數或二者組合的 x0dx0a 語句。 x0dx0a 具體實現的代碼: x0dx0a ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ; x0dx0a int rows = stmt.executeUpdate("INSERT INTO ...") ; x0dx0a boolean flag = stmt.execute(String sql) ; x0dx0a 6、處理結果 x0dx0a 兩種情況: x0dx0a 1、執行更新返回的是本次操作影響到的記錄數。 x0dx0a 2、執行查詢返回的結果是一個ResultSet對象。 x0dx0a • ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提供了對這些 x0dx0a 行中數據的訪問。 x0dx0a • 使用結果集(ResultSet)對象的訪問方法獲取數據: x0dx0a while(rs.next()){ x0dx0a String name = rs.getString("name") ; x0dx0a String pass = rs.getString(1) ; // 此方法比較高效 x0dx0a } x0dx0a (列是從左到右編號的,並且從列1開始) x0dx0a 7、關閉JDBC對象 x0dx0a 操作完成以後要把所有使用的JDBC對象全都關閉,以釋放JDBC資源,關閉順序和聲 x0dx0a 明順序相反: x0dx0a 1、關閉記錄集 x0dx0a 2、關閉聲明 x0dx0a 3、關閉連接對象 x0dx0a if(rs != null){ // 關閉記錄集 x0dx0a try{ x0dx0a rs.close() ; x0dx0a }catch(SQLException e){ x0dx0a e.printStackTrace() ; x0dx0a } x0dx0a } x0dx0a if(stmt != null){ // 關閉聲明 x0dx0a try{ x0dx0a stmt.close() ; x0dx0a }catch(SQLException e){ x0dx0a e.printStackTrace() ; x0dx0a } x0dx0a } x0dx0a if(conn != null){ // 關閉連接對象 x0dx0a try{ x0dx0a conn.close() ; x0dx0a }catch(SQLException e){ x0dx0a e.printStackTrace() ; x0dx0a } x0dx0a }

❼ java jdbc 插入數據時 數據中存在問號

轉移處理者族並。insert into isso.hfcs
(name,xb,sf)
values
('測\?試穗坦1','首跡1','摸金\?校尉');

就可以了

❽ java中怎麼向資料庫插入數據

Java程序向資料庫中插入數據,代碼如下:

//首先創建資料庫,(access,oracle,mysql,sqlsever)其中之一,其中access,sqlsever需要配置數據源(odbc);
//然後再eclipse中創建類(ConnDb,Test,TestBean)ConnDb功能為連接資料庫,查詢,插入,刪除,修改數據的類,Test為含有main方法的測試類,TestBean為數據表中的欄位屬性及set,get方法
//以下是ConnDb代碼:
packagedb;
importjava.sql.Connection;
importjava.sql.DriverManager;
import
java.sql.ResultSet;
importjava.sql.SQLException;
import
java.sql.Statement;
importjava.util.ArrayList;
publicclassConnDb{
publicConnectionstartConn(Connectionconn){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn=DriverManager.getConnection("jdbc:odbc:資料庫","用戶名","密碼");
}catch(Exceptione){
System.out.println("連接資料庫時出現錯誤");
}
returnconn;
}

publicArrayListexecuteQuery(Stringsql){
Connectionconn=null;
Statementstmt=null;
ResultSetrs=null;
ArrayListlist=newArrayList();
try{
conn=startConn(conn);
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);//sql為sql語句例如"select*from
表名",從main方法中傳進來,這里用的是ArrayList類將查詢結果存儲起來
while(rs.next()){
TestBeantb=newTestBean();
tb.setTid(rs.getString("tid"));
tb.setTname(rs.getString("tname"));
tb.setTinfo(rs.getString("tinfo"));
list.add(tb);
}
}
catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}finally{
closeConn(rs,stmt,conn);
}
returnlist;
}
publicvoidexecuteUpdate(Stringsql){
Connectionconn=null;
Statementstmt=null;
try{
conn=
startConn(conn);
stmt=conn.createStatement();
stmt.executeUpdate(sql);
}
catch(SQLExceptione){
System.out.println("修改,插入或者刪除資料庫數據時發生錯誤!");
}finally{
closeConn(stmt,conn);
}
}
publicvoidcloseConn(ResultSetrs,Statementstmt,Connectionconn){
try{
if(rs!=
null){
rs.close();
}
if(stmt!=null){
stmt.close();
}
if(conn!=null){
conn.close();
}
}
catch(SQLExceptione){
//TODOAuto-generatedcatch
block
System.out.println("關閉資料庫的時候發生錯誤!");
}
}
publicvoidcloseConn(Statementstmt,Connectionconn){
try{
if(stmt!=null){
stmt.close();
}
if(conn!=null){
conn.close();
}
}
catch(SQLExceptione){
//TODOAuto-generatedcatchblock
System.out.println("關閉資料庫的時候發生錯誤!");
}
}
}
閱讀全文

與javajdbcinsert相關的資料

熱點內容
波形分析演算法 瀏覽:526
php論壇實訓報告 瀏覽:403
java日期字元串轉換成日期 瀏覽:135
linuxsftp連接 瀏覽:934
光伏日發電量演算法 瀏覽:125
小肚皮app怎麼才有vip 瀏覽:616
php全形轉換半形 瀏覽:927
java字元序列 瀏覽:539
杭州編譯分布式存儲區塊鏈 瀏覽:575
材料壓縮曲線 瀏覽:247
linux命令排序 瀏覽:151
手機熱點加密為啥連接不上電腦 瀏覽:979
編譯器合並計算 瀏覽:959
android音頻曲線 瀏覽:343
linuxftp自動登錄 瀏覽:802
運行編譯後網頁 瀏覽:70
閱讀app怎麼使用 瀏覽:319
centos防火牆命令 瀏覽:432
命令行變更 瀏覽:332
linux設備和驅動 瀏覽:207