java的jdbc连接oracle数据库时sql语句"update record set card_id=? where computer_id=?"哪有错?

 我来答
宇惠生汽配推广
2011-12-07 · TA获得超过161个赞
知道小有建树答主
回答量:223
采纳率:0%
帮助的人:98.1万
展开全部
修改record表中的指定id的条目的card_id为某个值 没有错误 但是要对两个问号赋值
更多追问追答
追问
我是对两个值赋值了呀

String sql="update record set card_id=? where computer_id=?";
try {
pstmt=con.prepareStatement(sql);
pstmt.setString(1, cardid);
pstmt.setString(2, comid);
int i=pstmt.executeUpdate();
System.out.println("修改列数是"+i);
} catch (SQLException e) {
System.out.println("添加卡号的sql语句出错");
e.printStackTrace();
}这是代码
追答
pstmt.setString(1, cardid);	pstmt.setString(2, comid);
您的card_id和computer_id是char 或者varchar类型的吗?
如果不是就不能用String
如果是int则要用setInt
如果是long setlong
jdbc需要这个类型匹配
如果使用 hibernate则可以用setproperty代替所有类型
但是jdbc不可以 请您检查一下数据库这个对应的字段类型吧
hujiang1225
2011-12-08 · TA获得超过429个赞
知道小有建树答主
回答量:403
采纳率:0%
帮助的人:123万
展开全部
pstmt.setString(1, cardid); 那2个值是在数据库是字符型的吗 要是整型的就用
pstmt.setInteger(1,cardid);
追问
cardid和comid都是varchar2型的
追答
那用String就应该没问题,你sql语句这样写试试:
String sql = "update record set card_id='" + cardid + "' where computer_id=‘“ + comid + "'";

不用pstmt方法用拼字符串方法看行不行得通,有的时候不一定是sql语句的错,可能是你连接的时候出错也说不定
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zly407884429
2011-12-16
知道答主
回答量:37
采纳率:0%
帮助的人:17万
展开全部
能把你的报错信息给大家看下吗。不然单看SQL是没错的
追问
我已经做出来了,不过还是谢谢你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户10190
2011-12-11
知道答主
回答量:19
采纳率:0%
帮助的人:19万
展开全部
以下是JDBC连接各种数据库的写法,献给Java初学者,提一点建议,记得导入对应的驱动jar包哦。

1、Oracle8/8i/9i数据库(thin模式)

Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为数据库的SID String user="test"; String password="test"; Connection conn= DriverManager.getConnection(url,user,password);

2、DB2数据库

Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance(); String url="jdbc:db2://localhost:5000/sample"; //sample为你的数据库名 String user="admin"; String password=""; Connection conn= DriverManager.getConnection(url,user,password); 3、Sql Server7.0/2000数据库

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb"; //mydb为数据库 String user="sa"; String password=""; Connection conn= DriverManager.getConnection(url,user,password);

4、Sybase数据库

Class.forName("com.sybase.jdbc.SybDriver").newInstance(); String url =" jdbc:sybase:Tds:localhost:5007/myDB"; //myDB为你的数据库名 Properties sysProps = System.getProperties(); SysProps.put("user","userid"); SysProps.put("password","user_password"); Connection conn= DriverManager.getConnection(url, SysProps);

5、Informix数据库

Class.forName("com.informix.jdbc.IfxDriver").newInstance(); String url = "jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver; user=testuser;password=testpassword"; //myDB为数据库名 Connection conn= DriverManager.getConnection(url);

6、MySQL数据库

Class.forName("org.gjt.mm.mysql.Driver").newInstance(); String url ="jdbc:mysql://localhost/myDB?user=soft
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式