您的位置:首页 > 产品设计 > UI/UE

java.sql.SQLException: Can not issue data manipulation statements with executeQuery().

2015-06-11 09:48 579 查看
1、错误描述

java.sql.SQLException: Can not issue data manipulation statements with executeQuery().
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:996)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:935)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:924)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:870)
at com.mysql.jdbc.StatementImpl.checkForDml(StatementImpl.java:472)
at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1401)
at com.you.sql.Student.commonMethod(Student.java:117)
at com.you.sql.Student.insertStudent(Student.java:86)
at com.you.sql.Student.main(Student.java:181)


2、错误原因

public static void insertStudent()
{
StringBuffer sql = new StringBuffer();
int j = 0;
String str = "0";
for(int i=5;i<1000;i++)
{
++j;
if(i%2 == 0)
{
str = "0";
}
else
{
str = "1";
}
sql.append("insert into t_stu_info (").append(i).append(",").append(103+j+"").append(",")
.append("zhangsan"+(i-4)).append(",").append(str).append(",")
.append(Integer.parseInt(Math.round(Math.random()*10+20)+"")).append(",")
.append("123"+i);
}

commonMethod(sql.toString());
}


/**
*
* @Title:Student
* @Description:
* @param sqlStu
* @Date:2015年6月11日 上午12:25:56
* @return :void
* @throws
*/
public static void commonMethod(String sqlStu)
{
StringBuffer sql = new StringBuffer();
sql.append(sqlStu);
Connection conn = null;
Statement stat = null;
ResultSet rs = null;
try
{
try
{
Class.forName(DRIVER_CLASS);
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
}
conn = DriverManager.getConnection(URL, USER, PASSWORD);
stat = conn.createStatement();
rs = stat.executeQuery(sql.toString());
while(rs.next())
{
String stuId = rs.getString("stu_id");
String stuName = rs.getString("stu_name");
String stuSex = rs.getString("sex");
String stuAge = rs.getString("stu_age");
String stuPhone = rs.getString("stu_phone");
System.out.println("学号:"+stuId+"----"+"姓名:"+stuName+"----"+"性别:"+stuSex+"---"+"年龄:"+stuAge+"----"+"电话:"+stuPhone);
}
}
catch (SQLException e)
{
e.printStackTrace();
}
finally
{
if(rs != null)
{
try
{
rs.close();
}
catch (SQLException e)
{
e.printStackTrace();
}
}
if(stat != null)
{
try
{
stat.close();
}
catch (SQLException e)
{
e.printStackTrace();
}
}
if(conn != null)
{
try
{
conn.close();
}
catch (SQLException e)
{
e.printStackTrace();
}
}
}
}


3、解决办法

由于在执行插入操作时,调用了executeQuery方法,出现错误;插入操作应该调用executeUpdate方法

int result = stat.executeUpdate(sql.toString());
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: