就是每运行一次程序都添加一次 张三 李四 王五的信息,三个三个的添加,我修改一个客户的信息是也是他们三个一起修改,就是三个三个的修改,改一个变三个,是不是我添加数据库信息的位置不对啊?大家给我挑挑毛病吧。源程序1:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class Database {
public static Connection cn;
public static Statement st;
public static ResultSet rs;
public static boolean joinDB() {
boolean joinFlag;
try {
joinFlag = true;
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
cn = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=sample","sa","605");
cn.setCatalog("sample");
System.out.println("数据库连接成功");
st = cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
st.execute("INSERT INTO Table3 VALUES ('admin','123')");
st.execute("INSERT INTO Clientm VALUES ('张三','男','23')");
st.execute("INSERT INTO Clientm VALUES ('李四','女','25')");
st.execute("INSERT INTO Clientm VALUES ('王五','男','20')");
return joinFlag; } catch (SQLException sqlEx) {
System.out.println(sqlEx.getMessage()); joinFlag = false;
return joinFlag; } catch (ClassNotFoundException notfoundEX) {
System.out.println(notfoundEX.getMessage()); joinFlag = false;
return joinFlag;
}
} public static boolean executeSQL(String sqlString) {
boolean executeFlag;
try {
st.execute(sqlString);
executeFlag = true;
} catch (Exception e) {
executeFlag = false;
System.out.println("sql exception:" + e.getMessage());
}
return executeFlag;
}
public static boolean query(String sqlString) { try {
rs = null;
rs = st.executeQuery(sqlString);
} catch (Exception Ex) {
System.out.println("sql exception:" + Ex);
return false;
}
return true;
}
}
源程序2:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import javax.swing.*;
public class Land
{
public static void main(String[] args)
{
LandFrame frame=new LandFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
class LandFrame extends JFrame
{
JFrame jf ;
JLabel labelWelcome = new JLabel("小区车辆管理系统");
JLabel labelName=new JLabel("用户名:");
JLabel labelPassword=new JLabel("密码:");
JTextField textName=new JTextField();
JPasswordField textPassword=new JPasswordField();
JButton buttonEnter=new JButton("登录");
JButton buttoncancel=new JButton("清空");
public LandFrame()
{
jf=this;
Toolkit kit=Toolkit.getDefaultToolkit();
Dimension screenSize=kit.getScreenSize();
int screenWidth=screenSize.width;
int screenHeight=screenSize.height;
setSize(screenWidth/4,screenHeight/4);
setLocation(screenWidth*3/8,screenHeight*3/8);
setTitle("登陆界面");
Font f = new Font("新宋体",Font.PLAIN,12);
Container con = getContentPane();
con.setLayout(null);
labelWelcome.setBounds(95,10,150,20);
labelWelcome.setFont(new Font("新宋体",Font.PLAIN,14));
con.add(labelWelcome);
labelName.setBounds(45,40,55,20);
labelName.setFont(f);
con.add(labelName);
textName.setBounds(95,40,120,20);
con.add(textName);
labelPassword.setBounds(45,70,45,20);
labelPassword.setFont(f);
con.add(labelPassword);
textPassword.setBounds(95,70,120,20);
con.add(textPassword);
buttonEnter.setBounds(90,110,60,20);
buttonEnter.setFont(f);
con.add(buttonEnter);
buttonEnter.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent m){
if(textName.getText().equals("")){
new JOptionPane().showMessageDialog(null,"用户名不能为空!");
}
else if(textPassword.getText().equals("")){
new JOptionPane().showMessageDialog(null,"密码不能为空!");
}
else{
String sql="select * from Table3 where User_Name = '" + textName.getText() + "' and Password = '" + textPassword.getText()+ "'";
System.out.println(sql);
Judge(sql);
}
}
});
buttoncancel.setBounds(155,110,60,20);
buttoncancel.setFont(f);
con.add(buttoncancel);
buttoncancel.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent m){
textName.setText("");
textPassword.setText("");
}
});
}
private void Judge(String sqlString) { if (Database.joinDB()) {
if (Database.query(sqlString))
try{
if(Database.rs.isBeforeFirst()) {
System.out.println("密码正确");
jf.setVisible(false);
Database.cn.close();
new Main();
}
else {
System.out.println("错误");
new JOptionPane().showMessageDialog(null,"用户名或密码错误!","",JOptionPane.ERROR_MESSAGE);
}
}catch(Exception e) {
System.out.println(e.getMessage());
}
}
else{
System.out.println("连接数据库不成功!!!");
}
}
}
就是在 客户信息管理 这个里面我添加的信息总是运行一次加一次,我怀疑是不应该在Database中,joinDB这个方法中INSERT数据库信息。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class Database {
public static Connection cn;
public static Statement st;
public static ResultSet rs;
public static boolean joinDB() {
boolean joinFlag;
try {
joinFlag = true;
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
cn = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=sample","sa","605");
cn.setCatalog("sample");
System.out.println("数据库连接成功");
st = cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
st.execute("INSERT INTO Table3 VALUES ('admin','123')");
st.execute("INSERT INTO Clientm VALUES ('张三','男','23')");
st.execute("INSERT INTO Clientm VALUES ('李四','女','25')");
st.execute("INSERT INTO Clientm VALUES ('王五','男','20')");
return joinFlag; } catch (SQLException sqlEx) {
System.out.println(sqlEx.getMessage()); joinFlag = false;
return joinFlag; } catch (ClassNotFoundException notfoundEX) {
System.out.println(notfoundEX.getMessage()); joinFlag = false;
return joinFlag;
}
} public static boolean executeSQL(String sqlString) {
boolean executeFlag;
try {
st.execute(sqlString);
executeFlag = true;
} catch (Exception e) {
executeFlag = false;
System.out.println("sql exception:" + e.getMessage());
}
return executeFlag;
}
public static boolean query(String sqlString) { try {
rs = null;
rs = st.executeQuery(sqlString);
} catch (Exception Ex) {
System.out.println("sql exception:" + Ex);
return false;
}
return true;
}
}
源程序2:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import javax.swing.*;
public class Land
{
public static void main(String[] args)
{
LandFrame frame=new LandFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
class LandFrame extends JFrame
{
JFrame jf ;
JLabel labelWelcome = new JLabel("小区车辆管理系统");
JLabel labelName=new JLabel("用户名:");
JLabel labelPassword=new JLabel("密码:");
JTextField textName=new JTextField();
JPasswordField textPassword=new JPasswordField();
JButton buttonEnter=new JButton("登录");
JButton buttoncancel=new JButton("清空");
public LandFrame()
{
jf=this;
Toolkit kit=Toolkit.getDefaultToolkit();
Dimension screenSize=kit.getScreenSize();
int screenWidth=screenSize.width;
int screenHeight=screenSize.height;
setSize(screenWidth/4,screenHeight/4);
setLocation(screenWidth*3/8,screenHeight*3/8);
setTitle("登陆界面");
Font f = new Font("新宋体",Font.PLAIN,12);
Container con = getContentPane();
con.setLayout(null);
labelWelcome.setBounds(95,10,150,20);
labelWelcome.setFont(new Font("新宋体",Font.PLAIN,14));
con.add(labelWelcome);
labelName.setBounds(45,40,55,20);
labelName.setFont(f);
con.add(labelName);
textName.setBounds(95,40,120,20);
con.add(textName);
labelPassword.setBounds(45,70,45,20);
labelPassword.setFont(f);
con.add(labelPassword);
textPassword.setBounds(95,70,120,20);
con.add(textPassword);
buttonEnter.setBounds(90,110,60,20);
buttonEnter.setFont(f);
con.add(buttonEnter);
buttonEnter.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent m){
if(textName.getText().equals("")){
new JOptionPane().showMessageDialog(null,"用户名不能为空!");
}
else if(textPassword.getText().equals("")){
new JOptionPane().showMessageDialog(null,"密码不能为空!");
}
else{
String sql="select * from Table3 where User_Name = '" + textName.getText() + "' and Password = '" + textPassword.getText()+ "'";
System.out.println(sql);
Judge(sql);
}
}
});
buttoncancel.setBounds(155,110,60,20);
buttoncancel.setFont(f);
con.add(buttoncancel);
buttoncancel.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent m){
textName.setText("");
textPassword.setText("");
}
});
}
private void Judge(String sqlString) { if (Database.joinDB()) {
if (Database.query(sqlString))
try{
if(Database.rs.isBeforeFirst()) {
System.out.println("密码正确");
jf.setVisible(false);
Database.cn.close();
new Main();
}
else {
System.out.println("错误");
new JOptionPane().showMessageDialog(null,"用户名或密码错误!","",JOptionPane.ERROR_MESSAGE);
}
}catch(Exception e) {
System.out.println(e.getMessage());
}
}
else{
System.out.println("连接数据库不成功!!!");
}
}
}
就是在 客户信息管理 这个里面我添加的信息总是运行一次加一次,我怀疑是不应该在Database中,joinDB这个方法中INSERT数据库信息。
楼主【zgrsw】截止到2008-07-21 23:50:48的历史汇总数据(不包括此帖):
发帖的总数量:0 发帖的总分数:0 每贴平均分数:0
回帖的总数量:0 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:0 结贴的总分数:0
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:---------------------结分的百分比:---------------------
无满意结贴率:---------------------无满意结分率:---------------------
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
st.execute("INSERT INTO Clientm VALUES ('张三','男','23')");
st.execute("INSERT INTO Clientm VALUES ('李四','女','25')");
st.execute("INSERT INTO Clientm VALUES ('王五','男','20')");
这些是在干什么
boolean joinFlag;
try {
joinFlag = true;
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
cn = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=sample","sa","605");
cn.setCatalog("sample");
System.out.println("数据库连接成功");
st = cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
st.execute("INSERT INTO Table3 VALUES ('admin','123')");
st.execute("INSERT INTO Clientm VALUES ('张三','男','23')");
st.execute("INSERT INTO Clientm VALUES ('李四','女','25')");
st.execute("INSERT INTO Clientm VALUES ('王五','男','20')");
每连一次就插入一次
st.execute("INSERT INTO Clientm VALUES ('张三','男','23')");
st.execute("INSERT INTO Clientm VALUES ('李四','女','25')");
st.execute("INSERT INTO Clientm VALUES ('王五','男','20')"); 这里的问题的吧 你在表名前面加上你要更新的字段啊,那样可能能避免你更新1个修改3个的问题吧 ?
st.execute("INSERT INTO Clientm VALUES ('李四','女','25')");
st.execute("INSERT INTO Clientm VALUES ('王五','男','20')"); 有这个每次调用都会添加