//统计student表中的男生数目
String sql1 = "select count(*) from student where banji=' "+banjijComboBox.getSelectedItem().toString()+" ' and xingbie='男'; " ;//统计student表中的女生数目
String sql2 = "select count(*) from student where banji='"+banjijComboBox.getSelectedItem().toString()+"' and xingbie='女';";//更新class中的男女数目的数据
String sql3 = "update class set nan="+tjnan+",nv="+tjnv+" where mingcheng='"+banjijComboBox.getSelectedItem().toString()+" ';";全的代码:
int tjnan=0,tjnv=0; //定义男生数和女生数
//统计男生数量
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url1 = "jdbc:odbc:stu";
Connection conn1 = DriverManager.getConnection(url1);
Statement stat1 = conn1.createStatement();
String sql1 = "select count(*) from student where banji=' "+banjijComboBox.getSelectedItem().toString()+" ' and xingbie='男'; " ;
ResultSet rSet1=stat1.executeQuery(sql1);
rSet1.next();
tjnan=rSet1.getInt(1);
jbjg.setText("统计男生数成功");
conn1.close();
} catch(java.lang.Exception exec) {
jbjg.setText("统计男生数失败!");
}
//统计女生数
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url2 = "jdbc:odbc:stu";
Connection conn2 = DriverManager.getConnection(url2);
Statement stat2 = conn2.createStatement();
String sql2 = "select count(*) from student where banji='"+banjijComboBox.getSelectedItem().toString()+"' and xingbie='女';";
ResultSet rSet2=stat2.executeQuery(sql2);
rSet2.next();
tjnv=rSet2.getInt(1);
jbjg.setText("统计女生数成功");
conn2.close();
} catch(java.lang.Exception exec) {
jbjg.setText("统计女生数失败");
}
//修改班级中的男生和女生数
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url3 = "jdbc:odbc:stu";
Connection conn3 = DriverManager.getConnection(url3);
Statement stat3 = conn3.createStatement();
String sql3 = "update class set nan="+tjnan+",nv="+tjnv+" where mingcheng='"+banjijComboBox.getSelectedItem().toString()+" ';";
int rowCount =stat3.executeUpdate(sql3);
if (rowCount>0 ){
//jbjg.setText("修改班级中的男生和女生数-成功");
}
conn3.close();
} catch(java.lang.Exception exec) {
// jbjg.setText("修改班级中的男生和女生数-失败");
}
怎么改成合起来的阿!!
//统计男生数目
String sql1 ="select count(*) from student where banji='"
+xuanzebanjijComboBox.getSelectedItem().toString()
+"'and xingbie='男';";
//统计女生数目
String sql2 ="select count(*) from student where banji='"
+xuanzebanjijComboBox.getSelectedItem().toString()
+"'and xingbie='女';";
Connection conn = null;
try {
Class.forName(str);
conn = DriverManager.getConnection(url);
Statement stat = conn.createStatement();
String sql = "update class set nan=(select count(*) from student where banji='"
+xuanzebanjijComboBox.getSelectedItem().toString()
+"'and xingbie='男';),nv=(select count(*) from student where banji='"
+xuanzebanjijComboBox.getSelectedItem().toString()
+"'and xingbie='女';) where mingcheng='"
+ xuanzebanjijComboBox.getSelectedItem().toString()+"';"; int rowCount =stat.executeUpdate(sql);
if (rowCount >0){
jbjg.setText("修改班级中的男女生数目成功!");
}
conn.close();
}catch(Exception exec){
jbjg.setText("修改班级中的男女生数目失败!");
}
String sql1 = "select count(*) from student where banji=' "+banjijComboBox.getSelectedItem().toString()+" ' and xingbie='男'; " ;//统计student表中的女生数目
String sql2 = "select count(*) from student where banji='"+banjijComboBox.getSelectedItem().toString()+"' and xingbie='女';";//更新class中的男女数目的数据
String sql3 = "update class set nan="+tjnan+",nv="+tjnv+" where mingcheng='"+banjijComboBox.getSelectedItem().toString()+" ';";全的代码:
int tjnan=0,tjnv=0; //定义男生数和女生数
//统计男生数量
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url1 = "jdbc:odbc:stu";
Connection conn1 = DriverManager.getConnection(url1);
Statement stat1 = conn1.createStatement();
String sql1 = "select count(*) from student where banji=' "+banjijComboBox.getSelectedItem().toString()+" ' and xingbie='男'; " ;
ResultSet rSet1=stat1.executeQuery(sql1);
rSet1.next();
tjnan=rSet1.getInt(1);
jbjg.setText("统计男生数成功");
conn1.close();
} catch(java.lang.Exception exec) {
jbjg.setText("统计男生数失败!");
}
//统计女生数
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url2 = "jdbc:odbc:stu";
Connection conn2 = DriverManager.getConnection(url2);
Statement stat2 = conn2.createStatement();
String sql2 = "select count(*) from student where banji='"+banjijComboBox.getSelectedItem().toString()+"' and xingbie='女';";
ResultSet rSet2=stat2.executeQuery(sql2);
rSet2.next();
tjnv=rSet2.getInt(1);
jbjg.setText("统计女生数成功");
conn2.close();
} catch(java.lang.Exception exec) {
jbjg.setText("统计女生数失败");
}
//修改班级中的男生和女生数
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url3 = "jdbc:odbc:stu";
Connection conn3 = DriverManager.getConnection(url3);
Statement stat3 = conn3.createStatement();
String sql3 = "update class set nan="+tjnan+",nv="+tjnv+" where mingcheng='"+banjijComboBox.getSelectedItem().toString()+" ';";
int rowCount =stat3.executeUpdate(sql3);
if (rowCount>0 ){
//jbjg.setText("修改班级中的男生和女生数-成功");
}
conn3.close();
} catch(java.lang.Exception exec) {
// jbjg.setText("修改班级中的男生和女生数-失败");
}
怎么改成合起来的阿!!
//统计男生数目
String sql1 ="select count(*) from student where banji='"
+xuanzebanjijComboBox.getSelectedItem().toString()
+"'and xingbie='男';";
//统计女生数目
String sql2 ="select count(*) from student where banji='"
+xuanzebanjijComboBox.getSelectedItem().toString()
+"'and xingbie='女';";
Connection conn = null;
try {
Class.forName(str);
conn = DriverManager.getConnection(url);
Statement stat = conn.createStatement();
String sql = "update class set nan=(select count(*) from student where banji='"
+xuanzebanjijComboBox.getSelectedItem().toString()
+"'and xingbie='男';),nv=(select count(*) from student where banji='"
+xuanzebanjijComboBox.getSelectedItem().toString()
+"'and xingbie='女';) where mingcheng='"
+ xuanzebanjijComboBox.getSelectedItem().toString()+"';"; int rowCount =stat.executeUpdate(sql);
if (rowCount >0){
jbjg.setText("修改班级中的男女生数目成功!");
}
conn.close();
}catch(Exception exec){
jbjg.setText("修改班级中的男女生数目失败!");
}
+xuanzebanjijComboBox.getSelectedItem().toString()
+"'and xingbie='男';)
你这个里面的分号有问题 去掉
三次使用xuanzebanjijComboBox.getSelectedItem().toString()带入班级有些多余!
为外部语句的表定义别名,内部子查询就可以直接使用:update class a set
nan=(select count(*) from student where banji=a.mingcheng and xingbie='男';),
nv=(select count(*) from student where banji=a.mingcheng and xingbie='女';)
where mingcheng=?
是对的
但把sql合起来也是一条sql语句呀!
update语句就可以这样写阿!
其次,你的sql语句检查下,最好先在DOC中测试下你的语句!
以上仅供参考
所以,那样写在access中不通过
在大型数据库中是可以的
例如:sql server