import java.sql.*;
public class AccessInsert{
public static void main(String[] args){
Connection con;
Statement sql;
ResultSet rs; //声明Statement对象
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){
System.out.println(""+e);
}
try{
con=DriverManager.getConnection("jdbc:odbc:dragon","","");
sql=con.createStatement();
rs=sql.executeQuery("Select * FROM StudentManager");
while(rs.next()){
String name=rs.getString(1); //获得数据库第一列
String sex=rs.getString(2);
System.out.println("姓名:"+name); //输出信息
System.out.println("性别:"+sex);
}
String sqlStr="insert into StudentManager values (\'张强\',\'男\',\'3\',\'4\',\'5\',\'6\')";
int result = sql.executeUpdate(sqlStr);
System.out.println(result);
con.close();}
catch(SQLException el){}
}
}希望在数据库里插入数据,为什么有的时候插入成功,有的时候不成功,使用的是ACCESS。
数据库已近连接上,可以查看数据库内容。
public class AccessInsert{
public static void main(String[] args){
Connection con;
Statement sql;
ResultSet rs; //声明Statement对象
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){
System.out.println(""+e);
}
try{
con=DriverManager.getConnection("jdbc:odbc:dragon","","");
sql=con.createStatement();
rs=sql.executeQuery("Select * FROM StudentManager");
while(rs.next()){
String name=rs.getString(1); //获得数据库第一列
String sex=rs.getString(2);
System.out.println("姓名:"+name); //输出信息
System.out.println("性别:"+sex);
}
String sqlStr="insert into StudentManager values (\'张强\',\'男\',\'3\',\'4\',\'5\',\'6\')";
int result = sql.executeUpdate(sqlStr);
System.out.println(result);
con.close();}
catch(SQLException el){}
}
}希望在数据库里插入数据,为什么有的时候插入成功,有的时候不成功,使用的是ACCESS。
数据库已近连接上,可以查看数据库内容。
catch(SQLException el){e1.printStackTrace();}还有,没用过Access,不过你可以在插入前重新获取Statement试试看,如
Statement sql2=con.createStatement();
int result = sql2.executeUpdate(sqlStr);
import java.sql.*;
public class Data{
public static void main (String[] args) {
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e)
{ e.printStackTrace(); }
try{
Connection con=DriverManager.getConnection("jdbc:odbc:student","sa","sa");
Statement stmt=con.createStatement();
String insert1="insert into student values('王爱英','0913','女','09132546','20','计算机网络技术','82','湖北')";
String insert2="insert into student values('刘静','0812','女','08124563','19','软件开发','78','湖北')";
//向user表中插入记录的SQL语句
stmt.executeUpdate(insert1);
//Statement的executeUpdate()方法执行SQL插入,删除以及更新操作,并返回操作影响到的记录条数
stmt.executeUpdate(insert2);
stmt.executeUpdate("update student set 姓名='徐莉' where 学号='09114568'");
//更新一条存在的记录,SQL语句是不区分大小写的
ResultSet rs=stmt.executeQuery("select * from student");
//Statement的executeQuery方法执行SQL查询语句,并返回一个ResultSet类的数据集对象
while(rs.next())
{System.out.print(rs.getString(1)+" "); //getString(1)可以获得结果集中某列的某个字段的值
System.out.print(rs.getString(2)+" ");
System.out.print(rs.getString(3)+" ");
System.out.print(rs.getString(4)+" ");
System.out.print(rs.getString(5)+" ");
System.out.print(rs.getString(6)+" ");
System.out.print(rs.getString(7)+" ");
System.out.print(rs.getString(8)+" ");
System.out.print("\n"); }
rs.close();
stmt.close();
con.close(); } //使用完这些结果集和对象后将其关闭,以免耗费资源
catch(SQLException e)
{ e.printStackTrace();
}
}
}我不明白楼主的记录怎么是这样的
(\'张强\',\'男\',\'3\',\'4\',\'5\',\'6\')
插入的记录要跟数据库中的字段值一一对应。
其次,问大家几个问题,第一:插入不同的语句,一般匹配出错,错误是什么?
第二:ACCESS表的主键我给删了,就是在可视化见面中删的。没有主键影响大么?
谢谢。
这个表的列设置,还有建设置看下
插入的时候倒看不出来,update的时候,就不知道如何定位到要修改的记录上了。