我今天自己编了一个跟数据库有关的用户界面程序,可是总是出现错误,大家帮我挑挑毛病?急!!!给个建议。
数据库文件:
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
CREATE TABLE dbo.Table3
(
User_Name varchar(20) NOT NULL,
Password varchar(20) NOT NULL
)  ON [PRIMARY]
GO
COMMIT源代码:1:
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
{
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()
{
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 ClientInformation 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("密码正确");
             Database.cn.close();
           
           }
           else {
             System.out.println("错误");
             new JOptionPane().showMessageDialog(null,"用户名或密码错误!","",JOptionPane.ERROR_MESSAGE);
            }
          }catch(Exception e) {
             System.out.println(e.getMessage());
          }
    }
    else{
    System.out.println("连接数据库不成功!!!");
    }
  }
}
2:import java.sql.*;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");
            System.out.println("数据库连接成功");
            st = cn.createStatement();
            st.execute("INSERT INTO Table3 VALUES ('admin,123')");
            return joinFlag;        }
        catch (SQLException e) {
            System.out.println(e.getMessage());
            joinFlag = false;
            return joinFlag;
        } 
        catch (ClassNotFoundException e) {
            System.out.println(e.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 e) {
            System.out.println("sql exception:"+e);
            return false;
        }
        return true;
    }
}

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【beingyourself】截止到2008-07-19 23:13:08的历史汇总数据(不包括此帖):
    发帖的总数量:48                       发帖的总分数:970                      每贴平均分数:20                       
    回帖的总数量:14                       得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:48                       结贴的总分数:970                      
    无满意结贴数:4                        无满意结贴分:50                       
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:8.33  %               无满意结分率:5.15  %                  
    敬礼!
      

  2.   

    try {
                joinFlag = true;
                Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
                cn = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=sample","sa","605");
                System.out.println("数据库连接成功");
                st = cn.createStatement();
                st.execute("INSERT INTO Table3 VALUES ('admin,123')");//这句"INSERT INTO Table3 VALUES ('admin','123')"
                return joinFlag;        }