
首先是JavaBean的原程序
//——————————————————————
package
mywebconn
import
java.sql.*
public
class
JDBCrs
{
//
static
final
String
sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver"
static
final
String
sConnStr="jdbc:odbc:Driver={MicroSoft
Access
Driver
(*.mdb)}DBQ=D:/myWeb01/WebModule1/test.mdb"
Connection
conn=null
ResultSet
rs=null
public
JDBCrs()
{
try
{
Class.forName(sDBDriver)
}
catch(java.lang.ClassNotFoundException
e)
{
System.err.println(e.getMessage())
}
}
//
the
public
public
ResultSet
executeQuery(String
sql)
{
rs=null
try
{
conn=DriverManager.getConnection(sConnStr)
Statement
stmt=conn.createStatement()
rs=stmt.executeQuery(sql)
}
catch(SQLException
ex){
System.err.println("aq.executeQuery
"+ex.getMessage())
}
return
rs
}
public
void
executeUpdate(String
sql)
{
try
{
conn
=
DriverManager.getConnection(sConnStr)
Statement
stmt
=
conn.createStatement()
stmt.executeUpdate(sql)
conn.close()
}
catch(SQLException
ex)
{
System.err.println("aq.executeUpdate
"+ex.getMessage())
}
}
public
void
close()
{
try
{
if
(!conn.isClosed())
{
conn.close()
}
}
catch
(SQLException
ex)
{
System.err.println("conn.close
"+ex.getMessage())
}
}
}
//——————————————————————
这个JavaBean叫JDBCrs(自己命名)
这个JavaBean是属于mywebconn这个包的(自己定义)
其中有一个叫executeQuery(String
sql)的返回ResultSet对象的方法!
当调用这个方法后,最好要调用close()这个方法关闭连接!
还有一个叫executeUpdate(String
sql)的方法,该方法不返回对象,只执行SQL语句,当执行完后会自动
关闭数据库连接!
String
sDBDriver和String
sConnStr字符串变量要根据实际情况做更改!!
在页面被调用时:
//保证可以使用ResultSet对象
//id
属性是被实例化后的名称
纯的JDBC?没有用 hibernate or toplink?如果这样 就必须要拼 sql 了
首先的确定 javabean 已经把所有JDBC1属性都set进去了
然后:
String sql = " insert into ...values(:x1,:x2...)"
拼sql 时 记得把你的sql 输出一下( 因为可能会碰null 或者数字的情况) 然后用你的sql 直接去你db里面跑一下, 如果能跑通就基本OK了, 跑不通就在DB里面调试, 比java里面调试快很多
再然后
PreparedStatement pst = null
pst = conn2.prepareStatement(sql)// conn2 是你要插入的JDBC
pst.setInt(1, JavaBean.getID())
pst.setString(1, JavaBean.getName())
。。。
pst.execute()
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)