请老兄 帮忙 解救

ggyyqiang 2008-06-01 08:48:18
下面是我的一个登陆框,在JBuilder 里运行是输入 sa,密码:sa, 后 成功登陆,可登陆时,总是出“error",try中的语言就没执行,请朋友们帮帮忙,小弟是现学现做,根本看不出问题!!谢谢!


package benchang;

import javax.swing.JFrame;
import com.borland.jbcl.layout.XYLayout;
import com.borland.jbcl.layout.*;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JPasswordField;
import javax.swing.JButton;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import benchang.Frame1;
import javax.swing.JOptionPane;
import java.sql.SQLException;
import java.sql.ResultSet;

/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2008 </p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class Frame3 extends JFrame {
private String url =
"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=chang;integratedSecurity=true;";
private Connection conn;
private Statement stmt;
private ResultSet rs;
Frame1 frame = new Frame1();
XYLayout xYLayout1 = new XYLayout();
JPanel jPanel1 = new JPanel();
JLabel jLabel1 = new JLabel();
XYLayout xYLayout2 = new XYLayout();
JLabel jLabel2 = new JLabel();
JLabel jLabel3 = new JLabel();
JTextField jTextField1 = new JTextField();
JPasswordField jPasswordField1 = new JPasswordField();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();

public Frame3() {
try {
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}

private void jbInit() throws Exception {
this.setBounds(100,100,450,400);
getContentPane().setLayout(xYLayout1);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
jPanel1.setMinimumSize(new Dimension(450, 330));
xYLayout1.setWidth(434);
xYLayout1.setHeight(338);
jButton2.addActionListener(new Frame3_jButton2_actionAdapter(this));
jButton1.addActionListener(new Frame3_jButton1_actionAdapter(this));
this.getContentPane().add(jPanel1, new XYConstraints(0, 0, 423, 330));
jPanel1.setLayout(xYLayout2);
jLabel2.setText("用户名:");
jLabel3.setText("密 码:");
jButton1.setText("登陆");
jButton2.setText("退出");
jPanel1.add(jLabel1, new XYConstraints(190, 5, 78, 29));
jPanel1.add(jLabel2, new XYConstraints(52, 85, 58, 31));
jPanel1.add(jLabel3, new XYConstraints(51, 165, 59, 30));
jPanel1.add(jTextField1, new XYConstraints(230, 92, 88, 25));
jPanel1.add(jButton1, new XYConstraints(51, 258, -1, -1));
jPanel1.add(jButton2, new XYConstraints(249, 258, -1, -1));
jPanel1.add(jPasswordField1, new XYConstraints(230, 165, 88, -1));
jLabel1.setText("用户登陆");
}

public static void main(String[] args) {
Frame3 frame3 = new Frame3();

}

public void jButton2_actionPerformed(ActionEvent e) {
System.exit(0);
}

public void jButton1_actionPerformed(ActionEvent e) {
try {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException ex) {
}
String yh = jTextField1.getText();
String ps = jPasswordField1.toString();
String sql =
"select * from yonghu where dzid="+yh+"and pswd="+ps+"";

conn = DriverManager.getConnection(url);
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
int rows=rs.getRow();
if (rows==1){
this.frame.setVisible(false);
frame.setVisible(true);
} else {
JOptionPane.showMessageDialog(null, "用户名或密码错误");
System.exit(0);
}
} catch (SQLException sqException) {
JOptionPane.showMessageDialog(null, "ERROR");
}
}
}


class Frame3_jButton1_actionAdapter implements ActionListener {
private Frame3 adaptee;
Frame3_jButton1_actionAdapter(Frame3 adaptee) {
this.adaptee = adaptee;
}

public void actionPerformed(ActionEvent e) {
adaptee.jButton1_actionPerformed(e);
}
}


class Frame3_jButton2_actionAdapter implements ActionListener {
private Frame3 adaptee;
Frame3_jButton2_actionAdapter(Frame3 adaptee) {
this.adaptee = adaptee;
}

public void actionPerformed(ActionEvent e) {
adaptee.jButton2_actionPerformed(e);
}
}
...全文
107 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ggyyqiang 2008-06-07
  • 打赏
  • 举报
回复
try {
String yh = jTextField1.getText();
// char[] ps1 = jPasswordField1.getPassword();
String ps = String.copyValueOf(jPasswordField1.getPassword());
//new String(pwdtxtfld_pass.getPassword());
String sql =
"select * from yonghu where dzid="+yh+" and pswd="+ps+"";
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
conn = DriverManager.getConnection(url,"sa","sa");
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
int rows=rs.getRow();
if (rows==1){
frame.setVisible(true);
} else {
JOptionPane.showMessageDialog(null, "用户名或密码错误");
}
} catch (SQLException sqException) {
sqException.printStackTrace();

}
您好 我的问题好多了现在 ,运行提示“用户名或密码错误”,可能语句有问题,再请您帮我看看,万分感谢!
kuyesuifeng 2008-06-06
  • 打赏
  • 举报
回复
java.sql.SQLException: No suitable driver


检查你的驱动是否正确
ggyyqiang 2008-06-06
  • 打赏
  • 举报
回复
C:\Borland\JBuilder2006\jdk1.5\bin\javaw -classpath "C:\Borland\JBuilder2006\samples\benchang\classes;C:\Borland\JBuilder2006\lib\jbcl.jar;C:\Borland\JBuilder2006\lib\dx.jar;C:\Borland\JBuilder2006\lib\beandt.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;C:\Borland\JBuilder2006\jdk1.5\lib\jconsole.jar;C:\Borland\JBuilder2006\jdk1.5\lib\tools.jar;C:\Borland\JBuilder2006\jdk1.5\lib\htmlconverter.jar;C:\Borland\JBuilder2006\jdk1.5\lib\dt.jar;C:\Borland\JBuilder2006\jdk1.5\jre\lib\jsse.jar;C:\Borland\JBuilder2006\jdk1.5\jre\lib\im\indicim.jar;C:\Borland\JBuilder2006\jdk1.5\jre\lib\im\thaiim.jar;C:\Borland\JBuilder2006\jdk1.5\jre\lib\jce.jar;C:\Borland\JBuilder2006\jdk1.5\jre\lib\deploy.jar;C:\Borland\JBuilder2006\jdk1.5\jre\lib\javaws.jar;C:\Borland\JBuilder2006\jdk1.5\jre\lib\charsets.jar;C:\Borland\JBuilder2006\jdk1.5\jre\lib\rt.jar;C:\Borland\JBuilder2006\jdk1.5\jre\lib\ext\dnsns.jar;C:\Borland\JBuilder2006\jdk1.5\jre\lib\ext\sunpkcs11.jar;C:\Borland\JBuilder2006\jdk1.5\jre\lib\ext\localedata.jar;C:\Borland\JBuilder2006\jdk1.5\jre\lib\ext\sunjce_provider.jar;C:\Borland\JBuilder2006\jdk1.5\jre\lib\plugin.jar" benchang.sheji
java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getConnection(DriverManager.java:545)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at benchang.Frame1.jbInit(Frame1.java:349)
at benchang.Frame1.<init>(Frame1.java:146)
at benchang.Frame3.<init>(Frame3.java:41)
at benchang.sheji.<init>(sheji.java:35)
at benchang.sheji$1.run(sheji.java:91)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getConnection(DriverManager.java:545)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at benchang.Frame1.jbInit(Frame1.java:349)
at benchang.Frame1.<init>(Frame1.java:146)
at benchang.sheji.<init>(sheji.java:36)
at benchang.sheji$1.run(sheji.java:91)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Shine_Panda 2008-06-01
  • 打赏
  • 举报
回复
String sql = "select * from yonghu where dzid="+yh+"and pswd="+ps+"";
可以能是这条sql 拼错了修改了一下.
String sql = "select * from yonghu where dzid='"+yh+"' and pswd='"+ps+"'";
注意空格和 单引号.
试下看...

jdlsfl 2008-06-01
  • 打赏
  • 举报
回复
应该是连接数据库的问题
把错误信息贴出来吧
或者
JOptionPane.showMessageDialog(null, "ERROR");
改成打印错误信息
evoloyeu 2008-06-01
  • 打赏
  • 举报
回复
断点调试哈
M_song 2008-06-01
  • 打赏
  • 举报
回复
那就是try之前了
把详细的出错信息贴出来让我看看!
code-artist 2008-06-01
  • 打赏
  • 举报
回复
多打几个字,沙发留给最需要的人
palm_civet 2008-06-01
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 java2000_net 的回复:]
} catch (SQLException sqException) {
JOptionPane.showMessageDialog(null, "ERROR");
}

为什么那么多人最自己如此自信呢?
一个 ERROR 你就知道发生了什么?我可没这份能耐!

你还是加上
sqException.printStackTrace();

贴上来看看吧!



[/Quote]


其实java版块里很多人都这样贴代码上来,然后说不知道哪里错了
老紫竹 2008-06-01
  • 打赏
  • 举报
回复
} catch (SQLException sqException) {
JOptionPane.showMessageDialog(null, "ERROR");
}

为什么那么多人最自己如此自信呢?
一个 ERROR 你就知道发生了什么?我可没这份能耐!

你还是加上
sqException.printStackTrace();

贴上来看看吧!


ggyyqiang 2008-06-01
  • 打赏
  • 举报
回复
在 JBuilder 的Database polit 里面,点击运行时 要输入sa, 密码sa, 可是这程序里的url是integratedSecurity=true; 不知道这有没有问题???请大家指教
ggyyqiang 2008-06-01
  • 打赏
  • 举报
回复
我吧检索语句sql 也改过了 还是不行,其他的出错信息我也不知道是出在哪里,能过运行,就是点登陆按钮出 “error"对话框。 谢谢大家的关心与帮助!!!

51,409

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧