插入记录时为什么会出错啊? 不能插入数据,但换成SELECT请句却可以查询这是怎么回事啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 sql语法有错误换成这个试一试INSERT INTO User VALUES("sname","pass","ia") state.executeQuery换成state.executeUpdate,你那个是执行查询用的。 state.executeQuery换成state.executeUpdate executeUpdate方法能够执行INSERT,UPDATE,DELETE等操作,并且可以执行CREATE TABLE,DROP TABLE等数据定义命令。executeQuery用来执行SELECET查询操作。 换成了 executeUpdate(sSQLi) 可是为什么会出现以下的语句错误?另用:if(st.next())合适么?谢谢..a3.java:16:incompatible typesfound :intrequired:java.sql.ResultSetResultSet st=state.executeUpdate(sSQLi) ^ import java.io.*;import java.sql.*;import javax.swing.*;public class a3{ public static void main(String args[]){ try{ String pass="123"; String sname="abc"; String ia="ccc"; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String su="jdbc:odbc:driver={Microsoft Access DriVer (*.mdb)};DBQ=lga.mdb"; Connection conn=DriverManager.getConnection(su,"",""); Statement state=conn.createStatement(); String sSQLi="INSERT INTO User VALUES('"+sname+"','"+pass+"','"+ia+"')"; int st=state.executeQuery(sSQLi); JOptionPane.showMessageDialog(null,"已经添一条记录","姓名:"+sname+"地址: "+ia+" 密码: "+pass,JOptionPane.INFORMATION_MESSAGE); state.close(); conn.close();} catch(Exception e){e.printStackTrace();}}} 在 int st=state.executeQuery(sSQLi);处再改成:int st=state.executeUpdate(sSQLi);就可以了... 同意xujun581(踏雪无痕) 。另外补充一点,调用executeQuery方法的返回值是记录集ResultSet,而调用executeUpdate方法返回的是int型的值,表示执行这个方法对数据库所造成的影响的数量,比如执行insert操作,返回值表示插入的行数(记录数量),执行UPDATE操作,返回值表示修改的记录数量等等,希望对楼主有所帮助。 怕了你了,把你的程序改好了:import java.io.*;import java.sql.*;import javax.swing.*;public class a3{ public static void main(String args[]){ try{ String pass="123"; String sname="abc"; String ia="ccc"; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String su="jdbc:odbc:driver={Microsoft Access DriVer (*.mdb)};DBQ=lga.mdb"; Connection conn=DriverManager.getConnection(su,"",""); Statement state=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); String sSQLi="INSERT INTO User VALUES('"+sname+"','"+pass+"','"+ia+"')"; int st=state.executeUpdate(sSQLi); if(st>0){ JOptionPane.showMessageDialog(null,"已经添一条记录","姓名:"+sname+"地址: "+ia+" 密码: "+pass,JOptionPane.INFORMATION_MESSAGE);} else{ JOptionPane.showMessageDialog(null,"添加记录失败!","添加状态:",JOptionPane.INFORMATION_MESSAGE);} //st.close(); state.close(); conn.close();} catch(Exception e){e.printStackTrace();}}} 自定义和引入java包问题...?? 新手问题:在排序好的数组中添加一个数字,将添加后的数字插入到数组合适的位置 java有没有办法读取2G以上的大文件?? 帮个忙,看看有关RMI的这几个短语该怎么翻译? 求问一个很郁闷的问题 Javac中如何指定classpath JBuilder7为什么会出现编辑锁住的现象? 请看 入门者 问 如何使用自己写的类 (详细见内) Socket问题,参与讨论者有分,不够必加! 一个语法问题,怎样用代码中途退出一个过程或函数? 送分题,这是不是Java的Bug: String 中的null处理?
换成这个试一试
INSERT INTO User VALUES("sname","pass","ia")
executeQuery用来执行SELECET查询操作。
found :int
required:java.sql.ResultSet
ResultSet st=state.executeUpdate(sSQLi)
^
import java.sql.*;
import javax.swing.*;public class a3{
public static void main(String args[]){
try{
String pass="123";
String sname="abc";
String ia="ccc";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String su="jdbc:odbc:driver={Microsoft Access DriVer (*.mdb)};DBQ=lga.mdb";
Connection conn=DriverManager.getConnection(su,"","");
Statement state=conn.createStatement();
String sSQLi="INSERT INTO User VALUES('"+sname+"','"+pass+"','"+ia+"')";
int st=state.executeQuery(sSQLi);
JOptionPane.showMessageDialog(null,"已经添一条记录","姓名:"+sname+"地址: "+ia+" 密码: "+pass,JOptionPane.INFORMATION_MESSAGE);
state.close();
conn.close();}
catch(Exception e){e.printStackTrace();}}
}
import java.io.*;
import java.sql.*;
import javax.swing.*;public class a3{
public static void main(String args[]){
try{
String pass="123";
String sname="abc";
String ia="ccc";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String su="jdbc:odbc:driver={Microsoft Access DriVer (*.mdb)};DBQ=lga.mdb";
Connection conn=DriverManager.getConnection(su,"","");
Statement state=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sSQLi="INSERT INTO User VALUES('"+sname+"','"+pass+"','"+ia+"')";
int st=state.executeUpdate(sSQLi);
if(st>0){
JOptionPane.showMessageDialog(null,"已经添一条记录","姓名:"+sname+"地址: "+ia+" 密码: "+pass,JOptionPane.INFORMATION_MESSAGE);}
else{
JOptionPane.showMessageDialog(null,"添加记录失败!","添加状态:",JOptionPane.INFORMATION_MESSAGE);}
//st.close();
state.close();
conn.close();}
catch(Exception e){e.printStackTrace();}}
}