java sql插入语句 在线等!急!!!!!

importjava.sql.*;classUpdate{publicstaticvoidmain(Stringargs[])throwsException{String... import java.sql.*;

class Update
{
public static void main(String args[]) throws Exception
{
String url = "jdbc:mysql://localhost:3309/school";

String sql = "INSERT INTO shop(article,dealer,price)values(8,'A',3.45)";

Class.forName("com.mysql.jdbc.Driver");

Connection con = DriverManager.getConnection(url, "root", "1");

Statement stmt = con.createStatement();

ResultSet rs=stmt.executeQuery(sql);
while(rs.next())
{
System.out.println(rs.getString("price"));
}
}
}
数据库都已经建好了,这个程序也能编译,但是执行的时候出错:
Exception in thread "main" java.sql.SQLException:can not issue data manipulation statements with executeQuery().
把SQL语句换成select * from shop能执行,没有问题.
展开
 我来答
slczai
2008-08-12 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:212
采纳率:0%
帮助的人:0
展开全部
因为你做的是插入操作,没有结果集.所以报错了.
把这个:
Statement stmt = con.createStatement();

ResultSet rs=stmt.executeQuery(sql);
while(rs.next())
{
System.out.println(rs.getString("price"));
}

换一下:
stmt.execute(sql);
asasas2002
2008-08-12 · TA获得超过1348个赞
知道小有建树答主
回答量:367
采纳率:100%
帮助的人:302万
展开全部
既然可以select ,那就说明你的INSERT INTO有问题了.
可以这样来排查.
1,看数据库里的shop就这三个字段吗?
2,这三个字段的数据类型是 整数,char,小数 类型吗?
3,你的SQL文写的正确吗?
可以把写好的SQL先用查询分析器执行一下,过了再写到程序里。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3ef758e15
2008-08-12 · TA获得超过207个赞
知道小有建树答主
回答量:141
采纳率:0%
帮助的人:131万
展开全部
ResultSet rs=stmt.executeQuery(sql);
while(rs.next())
{
System.out.println(rs.getString("price"));
}

不对

为啥你INSERT还要取结果集?
ResultSet rs=stmt.executeQuery(sql); 改成 stmt.execute(); 后面的while删掉。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式