JAVA中利用jdbc:odbc桥访问数据库的问题
我编写了一下代码希望通过jdbc:odbc桥创建一个访问数据库的界面packagestudentinfo;importjava.awt.*;importjava.sql....
我编写了一下代码 希望通过jdbc:odbc桥创建一个访问数据库的界面 package studentinfo;
import java.awt.*;
import java.sql.*;
import javax.swing.*;
public class LoginFrame extends JFrame {
public LoginFrame ()
{
this.setTitle("用户登录");
this.setSize(300,200);
JLabel jlname=new JLabel("用户名:");
JLabel jlpass=new JLabel("密码:");
JTextField jtname=new JTextField();
JTextField jtpass=new JTextField();
JButton jok=new JButton("确定");
JButton jcancel=new JButton("取消");
jlname.setBounds(60,40,60,20);
jtname.setBounds(120,40,90,20);
jlpass.setBounds(60,70,60,20);
jtpass.setBounds(120,70,90,20);
jok.setBounds(65,100,60,20);
jcancel.setBounds(140,100,60,20);
Container cp=this.getContentPane();
cp.setLayout(null);
cp.add(jlname);
cp.add(jlpass);
cp.add(jtname);
cp.add(jtpass);
cp.add(jok);
cp.add(jcancel);
jok.addActionListener(new ActionListener()
{public void actionPerformed(ActionEvent e){ jdok(e); }});
}
public boolean ispass(String username,String password)
{
boolean ok=false;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:sinfo","","");
String sql="select * from users where username='"+username+"'and password='"+password+"'";
Statement stmt =con.createStatement();
ResultSet rs=stmt.executeQuery(sql);
if(rs.next())
{
ok=true;
}
rs.close();
stmt.close();
con.close();
}catch(Exception e){System.out.println(e);}
return ok;
}
public void jdOK(ActionEvent evt)
{ ActionEvent ed=new ActionEvent();
if(ispass(jtname.getTxt(),jtpass.getTxt())){
JOptionPane.showMessageDialog(null,"登陆成功");
}
}
public static void main(String[] args)
{
LoginFrame log=new LoginFrame();
log.setVisible(true);
}
} 可是老是编译不成功 提示监听器那里不正确 还有用户名jtname找不到符号 错在哪了呢?错在 展开
import java.awt.*;
import java.sql.*;
import javax.swing.*;
public class LoginFrame extends JFrame {
public LoginFrame ()
{
this.setTitle("用户登录");
this.setSize(300,200);
JLabel jlname=new JLabel("用户名:");
JLabel jlpass=new JLabel("密码:");
JTextField jtname=new JTextField();
JTextField jtpass=new JTextField();
JButton jok=new JButton("确定");
JButton jcancel=new JButton("取消");
jlname.setBounds(60,40,60,20);
jtname.setBounds(120,40,90,20);
jlpass.setBounds(60,70,60,20);
jtpass.setBounds(120,70,90,20);
jok.setBounds(65,100,60,20);
jcancel.setBounds(140,100,60,20);
Container cp=this.getContentPane();
cp.setLayout(null);
cp.add(jlname);
cp.add(jlpass);
cp.add(jtname);
cp.add(jtpass);
cp.add(jok);
cp.add(jcancel);
jok.addActionListener(new ActionListener()
{public void actionPerformed(ActionEvent e){ jdok(e); }});
}
public boolean ispass(String username,String password)
{
boolean ok=false;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:sinfo","","");
String sql="select * from users where username='"+username+"'and password='"+password+"'";
Statement stmt =con.createStatement();
ResultSet rs=stmt.executeQuery(sql);
if(rs.next())
{
ok=true;
}
rs.close();
stmt.close();
con.close();
}catch(Exception e){System.out.println(e);}
return ok;
}
public void jdOK(ActionEvent evt)
{ ActionEvent ed=new ActionEvent();
if(ispass(jtname.getTxt(),jtpass.getTxt())){
JOptionPane.showMessageDialog(null,"登陆成功");
}
}
public static void main(String[] args)
{
LoginFrame log=new LoginFrame();
log.setVisible(true);
}
} 可是老是编译不成功 提示监听器那里不正确 还有用户名jtname找不到符号 错在哪了呢?错在 展开
2个回答
展开全部
public void jdOK(ActionEvent evt)
{ ActionEvent ed=new ActionEvent();
if(ispass(jtname.getTxt(),jtpass.getTxt())){
JOptionPane.showMessageDialog(null,"登陆成功");
}
这个方法中的jtname,jtpass没有定义,导致用户名jtname找不到符号;
jok.addActionListener(new ActionListener()
{public void actionPerformed(ActionEvent e){ jdok(e); }});
}
添加监听这里的事件处理方法应该是jdOK,而不是jdok(大小写错误)
{ ActionEvent ed=new ActionEvent();
if(ispass(jtname.getTxt(),jtpass.getTxt())){
JOptionPane.showMessageDialog(null,"登陆成功");
}
这个方法中的jtname,jtpass没有定义,导致用户名jtname找不到符号;
jok.addActionListener(new ActionListener()
{public void actionPerformed(ActionEvent e){ jdok(e); }});
}
添加监听这里的事件处理方法应该是jdOK,而不是jdok(大小写错误)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询