建議你找一本java方面書,注意裡面有介紹jdbc的(Java DateBase Connect即Java資料庫鏈接)。
下面我寫一些鏈接代碼,盡量寫詳細點,初次接觸沒有書本理論作鋪墊的話肯定不太容易理解。下面以sqlserver資料庫為例進行說明,使用不同的資料庫只是在方法的參數上有微小的不同。
每一步:注冊資料庫驅動
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//從類路徑中載入驅動,參數為SQLServer的驅動類完整包名
第二步:獲取資料庫連接
Connection conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=資料庫名","用戶名","密碼")//代碼中的中文直接替換為你的資料庫的相關值
第三步:獲取 Statement對像用於執行SQL語句
Statement sta=conn.createStatement();
第四步:使用Statement對像執行SQL語句
ResultSet rs=sta.executeUpdate("SQL 表數據刪除/添加語句");//若對表進行插入刪除操作則使用此語句,至此便結束。否則使用下述語句
ResultSet rs=sta.executeQuery("SQL查詢語句");//表查詢操作
第五步:遍歷結果集,對結表查詢結果中的數據集進行操作
while(rs.next()){
System.out.println(rs.getObject(1));//輸出表中的第一列數據
System.out.println(rs.getObject(2));輸出表中的每二列數據
........}
第六步:關閉資料庫連接
rs.close();
sta.close;
conn.close()//關閉步驟必須先關閉結果集對象再關閉Statement對像,最後關閉Connection對像
以上便是對資料庫中表進行操作的JAVA語句,無論對java web程序還是對java應用程序都有效!當然這裡面還需要包括一些容錯處理捕獲異常,同時導入資料庫的驅動包。
我這兒還有些相關教學視頻,方便我話可以轉給你,你也可以去電驢上下。
㈡ java如何實現對數據表裡面的數據刪除(最好給個具體代碼範例)
連接資料庫
public class DBManager {
//定義資料庫連接的URL
private static final String URL="jdbc:sqlserver://localhost:1433;database=j1105";
//定義資料庫的用戶名
private static final String USERNAME = "sa";
//定義資料庫密碼
private static final String PASSword = "sa";
//定義一個連接的引用,使用單例模式
private static Connection conn = null;
//使用靜態塊來注冊驅動
//類載入時自動執行代碼塊
static {
//反射com.microsoft.sqlserver.jdbc.SQLServerDriver.class
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
//獲得連接
//在程序使用過程中始終只有1個對象存在
//使用單例模式來給Connection賦值
public static Connection getConnection(){
if(conn == null){
try {
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (SQLException e) {
e.printStackTrace();
}
}
return conn;
}
/**
* 關閉的一些操作 , 優化
* @param conn
* @param stat
* @param rs
*/
public static void close(Connection conn,Statement stat,ResultSet rs){
try{
if(conn != null){
conn.close();
}
if(stat != null){
stat.close();
}
if(rs != null){
rs.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}
/**
* 重寫上面的方法,在只有2個參數的情況下關閉
* @param conn
* @param stat
*/
public static void close(Connection conn,Statement stat){
try{
if(conn != null){
conn.close();
}
if(stat != null){
stat.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}
public static void main(String[] args){
Connection conn = DBManager .getConnection();
System.out.println(conn);
}
}
介面
public interface IStudentDao {
public void deleteStudent(int xh);
}
實現
public class StudentDAOimpl implements IStudentDao {
public void deleteStudent(int xh) {
try{
String sql = "delete from tb_student where xh = ?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(1, xh);
ps.executeUpdate();
System.out.println("成功刪除");
}catch(SQLException e){
e.printStackTrace();
}
}
}
㈢ java 定時器刪除資料庫記錄
你 看看java.sql.*;吧
private static class MyTask extends TimerTask
{
private String url="依照你資料庫類別不同而不同";
private String sql="sql語句回";
private String driver="資料庫jdbc驅動類";
private Connection conn=null;
private PreparedStatement sta=null;
Class.forName(driver);
public void run()
{
conn=getConnection(url);
sta=conn.prepareStatement(sql);
sta.execute(); //執行答
sta.close();
conn.close();
}
}
㈣ 誰能給個java的小例子,實現swing調用sql的表,並能進行增刪改查操作。
LZ要得是代碼,就給樓主代碼嘛,對於剛學java的人來說肯定對API看得不是很明白,要有比較明確的例子才可以更好的去理解每一個方法,對於樓主的問題,我想說的,首先你要有一個很明確的思路,首先你要寫一個DefaultTableModel,這個model是決定你如何顯示這些信息的,比如說,第一行顯示姓名,然後顯示性別。等等。然後從資料庫里獲得數據,然後傳入到這個model中。
其次在你的swing中定義一個table,然後實例化你定義的這個model,然後用table.setMode(DefaultTableModel),把你實例化的那個model傳入到table中,這樣就會在tabale中顯示了你要的結果,至於你說要與資料庫連接操縱,這里你就需要加入相關的滑鼠listener了,在這個例子中,我給你加入了刪除和修改兩個操作,就是當對這表格點擊滑鼠的時候,會出現相應的選擇。這你需要用到JPopupMenu, 和JPopupMenu的元素JMenuItem了
首先給你tablemodel的類:
//這個類定義了你如何在表格中顯示數據和如何獲得表格中的數據,需要把二維數組傳入這個類,所以在構造函數中傳入了二維數組
public class FriendTableModel extends DefaultTableModel {
private String[] columns = {"學號","姓名","性別","年齡","郵箱"};
private Object a[][];
public FriendTableModel(Object [][] a) {
this.a=a;
}
public Object getUserAt(int rowIndex)
{
Object[] u = a[rowIndex];
return u;
}
public void removeRow(int row) {
a[row]=null;
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
Object[] u = a[rowIndex];
switch(columnIndex) {
case 0:
return u[0];
case 1:
return u[1];
case 2:
return u[2];
case 3:
return u[3];
case 4:
return u[4];
default:
return "";
}
}
@Override
public int getColumnCount() {
return columns.length;
}
@Override
public int getRowCount() {
if (a==null) return 0;
return a.length;
}
@Override
public boolean isCellEditable(int r, int c) {
return false;
}
@Override
public String getColumnName(int columnIndex) {
return columns[columnIndex];
}
}
然後給你主類,這個類中包含了與數據連接,把數據轉換二維數組,定義各個操作的listener,等
public class DataFrame extends JFrame implements ActionListener
{
public static void main(String args[])
{
new DataFrame();
}
Connection con;
Statement stmt;
ResultSet rs;
Object a[][]; //這里的a[][]就是一個i行j列的表,用來顯示資料庫中數據用的
Object b[]; //從tablemode返回的一行數據, 當你修改數時,向資料庫更新的時候,數據從這個對象中獲得;
int row;//你修改或者要刪除的行
int i=0; //輸據的條數
JTable jTable = null;//用來顯示表格
JPopupMenu jPopupMenu;//用來顯示你對表格的操作
private JMenuItem delete; //刪除操作
private JMenuItem upload;//修改操作
Object header[]={"學號","姓名","性別","年齡","郵箱"};//e是一個j列的表頭,用來存儲欄位名稱的,比如說上面的"學號","姓名"等字元串
DataFrame()
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e)
{
System.out.println("Error:"+e);
}
try{
con=DriverManager.getConnection("jdbc:odbc:mySql","sa","123");
stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery("select * from student");
while(rs.next())//把資料庫數據寫入二維數組
{
a[i][0]=rs.getInt(1);
a[i][1]=rs.getString(2);
a[i][2]=rs.getString(3);
a[i][3]=rs.getInt(4);
a[i][4]=rs.getString(5);
i++;
}
}
catch(SQLException e)
{
System.out.println("SqlError:"+e);
}
jTable = new JTable();
jTable.addMouseListener(new inMouseEven()); //給滑鼠定義事件,就是你點擊滑鼠的時候,會發生的事情
jTable.setShowGrid(false);
jPopupMenu = new JPopupMenu();
delete = new JMenuItem();
delete.setText("刪除");
delete.addMouseListener(new Delete_mouseAdapter());//給點擊刪除時增加事件
upload = new JMenuItem();
upload.setText("修改");
upload.addMouseListener(new Uoload_mouseAdapter());//給點擊更新時增加事件
jPopupMenu.add(delete);
jPopupMenu.add(upload);
FriendTableModel ftm = new FriendTableModel(a); //實例化tablemodel,把二維數組傳進去
if (ftm.getRowCount() > 0) {
jTable.setModel(ftm);//把Tablemodel傳入table中
}
Container con=getContentPane();
getContentPane().add(new JScrollPane(jTable),BorderLayout.CENTER);
setSize(400,300);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
setVisible(true);
validate();
}
public void actionPerformed(ActionEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
}
//當你點擊表格中的一行,出現選項,讓你選擇具體操作,此處是點擊滑鼠事件的具體代碼
private class inMouseEven extends MouseAdapter {
@Override
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() < 1) {
return;
}
row = jTable.getSelectedRow(); //返回你點擊的行數
if (row >= 0) {
FriendTableModel ftm =(FriendTableModel) jTable.getModel();
b= ftm.getUserAt(row ); //返回此行的數據
jPopupMenu.show(DataFrame.this, e.getX() + 160, e.getY() + 75);//出現操作選項
}
}
}
//刪除操作的listenr,對應的code
private class Delete_mouseAdapter extends MouseAdapter {
@Override
public void mousePressed(MouseEvent e) {
try {
String sql = "delete from **where id = " + b[0]; //此處b[]是上面當你點擊滑鼠是返回的那一行數據,b[]中對應的是表格中一行數據。
stmt.executeQuery(sql);
FriendTableModel ftm =(FriendTableModel) jTable.getModel();
ftm.removeRows(0, row );
jTable.updateUI();
} catch (SQLException ex) {
Logger.getLogger(DataFrame.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
//更新操作對應的code
private class Uoload_mouseAdapter extends MouseAdapter {
@Override
public void mousePressed(MouseEvent e) {
String sql ="UPDATE Student SET Address = %s, City = %s WHERE id = %s" %b[1],b[2],b[0]...//這里sql自己寫,就是更新所有的數據,新數據從b[...]中獲得
stmt.executeQuery(sql);
}
}
}
其中一些sql語句沒有給你寫出,這個你照著你的資料庫寫,還有資料庫的鏈接你需要改一下,上面的代碼沒有經過測試,因為我沒有鏈接資料庫,但是整體思路就應該是這樣,對應你的具體要求,修改代碼,我想應該可以運行起來的,你需要去理解這些代碼,然後寫出sql語句,給出正確的資料庫配置,修改其中可能的錯誤。
所有代碼都是親手寫的,希望對剛接觸java的你有用。
如果你從中得到幫助,記得肯定我的勞動,給我分哦。
㈤ 怎麼用java向資料庫中添加和刪除數據
首先,下載連接access的驅動jar包;
然後把這個jar包拖到Eclipse項目中的lib文件夾下;
接著在src文件夾下新建一個package,然後寫一個資料庫的類;
關鍵代碼:
String driver = "......";
String url = ".....";
String user= "...";
String password="...";
try{
Class.forName(driver);
Connection conn = DriverManager.getConnection(url);
}catch(Exception e){}
Statement stmt = null;
//查
String sql = "select * from aaa";
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
//增
String sql = "insert into aaa values('a','b','c')";
stmt.execute(sql);
//改
String sql = "update aaa set name='b' where name='a'";
stmt.executeUpdate(sql);
//刪
String sql = "delete from aaa where name = 'b'";
stmt.execute(sql);
反正就是類似這樣的啦