java应用程序操作oracle数据库的问题 10

java应用程序和oracle数据库连接成功,我自己建了一个BOOKSTORE的数据库,BOOKS是BOOKSTORE数据库下的一个表,我想往表中添加数据,但是不知道怎样... java应用程序和oracle数据库连接成功,我自己建了一个BOOKSTORE的数据库,BOOKS是BOOKSTORE数据库下的一个表,我想往表中添加数据,但是不知道怎样连接上这个数据库,下面是部分代码:
import java.sql.*;
public class Oracle_Connection {
/**
* @param args
*/
public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:thin:@127.0.0.1:1521:orcl";
Connection conn=DriverManager.getConnection(url,"DBSNMP","123456");
Statement stmt=conn.createStatement();
String sql="INSERT INTO BOOKS(id,name) VALUES(1,'王刚')";
int result=stmt.executeUpdate(sql);
System.out.println(result);
stmt.close();
conn.close();
}
}

我试过用BOOKSTORE.BOOKS形式定位BOOKSTORE数据库也不行
怎么办??
展开
 我来答
xiaoyu52331314
2012-11-03 · TA获得超过278个赞
知道小有建树答主
回答量:404
采纳率:0%
帮助的人:228万
展开全部
import java.sql.*;
public class TextOracle_AddTemplate {
public static void main(String ags[]){
add();
}
public static void add(){
Connection ct = null;//与特定数据库的连接(会话)。在连接上下文中执行 SQL 语句并返回结果
PreparedStatement ps = null;//表示预编译的 SQL 语句的对象。
ResultSet rs = null;//表示数据库结果集的数据表,通常通过执行查询数据库的语句生成
try{
//加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//得到连接
ct=DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.100:1521:allence","system","zhanshen");//"jdbc:oracle:thin:@ip地址:端口号:数据库名称","用户名"密码"
//创建PreparedStatement接口引用对象
ps=ct.prepareStatement("insert into emp(empno,ename)values(8888,'xiaoming')");//填写SQL语句<仅限制删除,增加更新语句>
System.out.println(ps);
//完成查询
ps.executeUpdate();
}catch(Exception e){
e.printStackTrace();//打印异常信息
throw new RuntimeException(e.getMessage());//抛出异常
}finally{
if(rs!=null){
try{
rs.close();
}catch(SQLException e){
e.printStackTrace();
}
rs = null;

}
if(ps!=null){
if(rs!=null){
try{
ps.close();
}catch(SQLException e){
e.printStackTrace();
}
ps = null;
}
if(ct!=null){
try{
ct.close();
}catch(SQLException e){
e.printStackTrace();
}
ps=null;
}
}
}
}
直接给你个用来控制增删改的模版 ,其实可以把增删改查的方法写到一个类里面的然后用另外一个类来控制整个程序,如果不这样做以后增加功能的时候可能会对整个程序造成一定的影响
追问
我不知道你有没有看我的问题,好像没说怎么解决我的问题,allence是实例名吗还是数据库名,emp表是在那个数据库下的??
追答
allence是我的数据库DB实例你把这个改成你的实例名就行了,emp表示我在我的数据库下做测试建的一张表,后面我都注释说清楚了啊
_江上渔者_
2012-11-08 · TA获得超过104个赞
知道答主
回答量:61
采纳率:0%
帮助的人:41.2万
展开全部
1、把错误贴出来,才能针对你的代码诊断出你的问题所在。
2、做insert,update,delete的时候一般都用Preparedstatemen,查询用statement。
3、试试这个
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@127.0.0.1:1521:orcl";
Connection con=DriverManager.getConnection(url, "DBSNMP", "123456");
Preparedstatemen ps=conn.preparedStatement(sql);
int succ=ps.executeUpdate();
if(succ>-1) out.println("插入成功");
conn.close();

4、记得下载oracle jdbc驱动jar包,放到WEB-INF/lib下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-11-02
展开全部
BOOKSTORE 是数据库实例还是一个用户,oracle中是以用户来进行管理的,如果你是在BOOKSTORE下建立的表,那么BOOKSTORE应该是一个用户名吧

String url="jdbc:oracle:thin:@127.0.0.1:1521:orcl";
Connection conn=DriverManager.getConnection(url,"BOOKSTORE","你的密码");

INSERT操作
追问
BOOKSTORE就是我建的一个表空间,我试过那样不行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1SAMSUNG
2012-11-13 · TA获得超过142个赞
知道小有建树答主
回答量:273
采纳率:0%
帮助的人:233万
展开全部
Connection con=null;
PreparedStatement pstm=null;
Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl",用户名,密码);
try {
pstm=con.prepareStatement("INSERT INTO BOOKS(id,name) VALUES(1,'王刚')");
if(pstm.executeUpdate()>0)
{
System.out.print("插入成功");
}else{
System.out.print("插入失败!");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
arthur37
2012-11-02 · TA获得超过1372个赞
知道小有建树答主
回答量:668
采纳率:75%
帮助的人:418万
展开全部
String url="jdbc:oracle:thin:@127.0.0.1:1521:BOOKSTORE";
如果你的数据库的实例名字是BOOKSTORE,url这个地方就应该写成BOOKSTORE吧。
更多追问追答
追问
我这样试过了,这样连Database Driver都不能建立
追答
那BOOKSTORE是什么呢?是用户名吗?要是用户名,这句就需要改,
Connection conn=DriverManager.getConnection(url,"BOOKSTORE","123456");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式