如何用Java向数据库中添加数据?

如何用Java向数据库中添加数据?,第1张

1.提取单条记录

//import java.sql.*

Connection conn=null

Statement stmt=null

ResultSet rs=null

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")

String url="jdbc:odbc:%%1"

con=DriverManager.getConnection(url,%%2,%%3)

stmt=conn.createStatement()

stmt.executeUpdate(%%4)

rs=stmt.executeQuery(%%5)

}catch(Exception e){

e.printStackTrace()

}

finally{

try {

if(rs!=null)

rs.close()

if(stmt!=null)

stmt.close()

if(conn!=null)

conn.close()

} catch (SQLException e) {

e.printStackTrace()

}

}

3.显示表格

/*

import java.awt.*

import javax.swing.*

import java.sql.*

import javax.swing.table.*

*/

String[] colHeads=%%4

Connection conn=null

Statement stmt=null

ResultSet rs=null

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")

String url="jdbc:odbc:%%1"

conn=DriverManager.getConnection(url,%%2,%%3)

stmt=conn.createStatement()

rs=stmt.executeQuery("SELECT count(*) as au_count from "+%%5)

rs.next()

int iCount=rs.getInt("au_count")

Object[][] data=new Object[iCount][]

int i=0

rs=stmt.executeQuery("SELECT * from "+%%5)

while(rs.next()){

data[i]=new Object[iCount]

data[i][0]=rs.getString("au_fname")

data[i][1]=rs.getString("Phone")

data[i][2]=rs.getString("City")

i++

}

JTable table=new JTable(data,colHeads)

JScrollPane jsp=new JScrollPane(table)

getContentPane().add(jsp)

}catch(Exception e){

e.printStackTrace()

}

finally{

try {

if(rs!=null)

rs.close()

if(stmt!=null)

stmt.close()

if(conn!=null)

conn.close()

} catch (SQLException e) {

e.printStackTrace()

}

}

6.关闭时关闭连接

//import java.sql.*

addWindowListener(new WindowAdapter{

public void windowClosing(WindowEvent wevent){

if(stmt!=null){

try {

if(rs!=null)

rs.close()

if(stmt!=null)

stmt.close()

if(conn!=null)

conn.close()

} catch (SQLException e) {

e.printStackTrace()

}

}

7.执行命令

//import java.sql.*

Connection conn=null

PreparedStatement pst=null

try {

conn=DriverManager.getConnection(url)

pst=conn.prepareStatement("Insert Into grade(%%1) Values (?)")

pst.setInt(1,%%2)

//pst.setString(2,%%2)

pst.addBatch()

pst.executeBatch()

} catch (SQLException e){

e.printStackTrace()

}

finally{

try {

if (pst != null)

pst.close()

if (conn != null)

conn.close()

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace()

}

}

是什么数据库,好像直接写就可以了吧,数字不加引号。

String sql="insert into table(f1,f2,f3,f4,f5) values('"+str1+"',"+str2+",'"+str3+"','"+str4+"',"+str5)"

如果不行就转换一下日期类型。

SQL用CONVERT(DATETIME, '2012-12-29', 120)

Oracle用to_date函数

你写的代码stat.executeUpdate到数据库里面的语句是“insert into practice values(........),(........)”

这个sql语句在数据库中根本无法执行

你要执行多条语句,分别执行每一条

String sql3 = "insert into practice values(。。。。。。。。。。)"

String sql4 = "insert into practice values(。。。。。。。。。。)"

stat.executeUpdate(sql3)

stat.executeUpdate(sql4)

或者下面那位同学的也行

String sql3 = "insert into practice values('lihua', 'male', 20)"

stat.executeUpdate(sql3)

sql3 = "insert into practice values('limei', 'female', 19)"

stat.executeUpdate(sql3)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11770908.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存