我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: java和数据库的问题 隐藏签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

不想飞的鱼



性别: 帅哥 状态: 该用户目前不在线
头衔: 13579
等级: 荣誉会员
家族: 空の軌跡
发贴: 15279
威望: 4
浮云: 434
在线等级:
注册时间: 2005-10-18
最后登陆: 2014-12-23

5come5帮你背单词 [ breakdown /'breikdaun/ n. 垮台,破裂,(健康,精神等)衰竭,衰弱,(机器等)损坏,故障 ]


java和数据库的问题

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //载萛uFFFD\uFFFD?绦蚶啾\uFFFD
      Connection con = DriverManager.getConnection("jdbc:odbc:myodbc"); //驱动
  //链接
      Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                                ResultSet.CONCUR_READ_ONLY);

      String sql = "select * from logininfo where username='" + id + "' and password=" + pwd +
      "";

      System.out.println(sql);

      ResultSet rs = stmt.executeQuery(sql); //建立ResultSet(结果集)对象,并执行SQL覾uFFFD\uFFFD

      if (!rs.next()) {
        System.out.println("not found");
        rs.close();
        stmt.close();
        con.close();

        return;

      }



      System.out.println("ok");

      rs.close();

      sql = "insert into loginlog (username, logintime) values (" + id + ", '" + (new java.util.Date().toString()) + "')";
      stmt.executeUpdate(sql);

      stmt.close();
      con.close();



      this.hide();

      Dialog1 d = new Dialog1(this, "", true);
      d.frame1 = this;
      d.id = id;
      d.pwd = pwd;
      d.queryDataSet1.closeStatement();
      d.queryDataSet1.setQuery(new com.borland.dx.sql.dataset.QueryDescriptor(
            d.database1,
          "SELECT * from loginlog where username=" + id, null, true, Load.ALL));
      d.queryDataSet1.open();

      d.show();

      this.show();

      } catch (Exception ex) {
      ex.printStackTrace();
      }


  }
用的是access2003做数据库 但是现在只能显示ID和登录时间 我要怎么改才可以增加显示部gate和性别等选项? 应该修改哪里啊? 达人指教~


[ 此贴被不想飞的鱼在2007-06-03 11:03重新编辑 ]
顶端 Posted: 2007-06-03 10:57 | [楼 主]
datuz



性别: 帅哥 状态: 该用户目前不在线
等级: 荣誉会员
发贴: 1425
威望: 3
浮云: 399
在线等级:
注册时间: 2006-09-15
最后登陆: 2009-10-03

5come5帮你背单词 [ inevitable /in'evitəbl/ a. 不可避免的,必然发生的 ]


sql = "insert into loginlog (username, logintime) values (" + id + ", '" + (new java.util.Date().toString()) + "')";
这条语句你只往数据库里插入了ID和时间,没有插入部gate和性别,查出来的当然只有ID和时间了
顶端 Posted: 2007-06-03 11:06 | [1 楼]
不想飞的鱼



性别: 帅哥 状态: 该用户目前不在线
头衔: 13579
等级: 荣誉会员
家族: 空の軌跡
发贴: 15279
威望: 4
浮云: 434
在线等级:
注册时间: 2005-10-18
最后登陆: 2014-12-23

5come5帮你背单词 [ round /raund/ a. 圆的,往返的;prep. 围绕;ad.在周围;n. 一圈;vt.绕行,使完美;vi.兜圈,环行 ]


java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 标准表达式中数据类型不匹配。
报错~~~
顶端 Posted: 2007-06-03 11:19 | [2 楼]
datuz



性别: 帅哥 状态: 该用户目前不在线
等级: 荣誉会员
发贴: 1425
威望: 3
浮云: 399
在线等级:
注册时间: 2006-09-15
最后登陆: 2009-10-03

5come5帮你背单词 [ complement /'kəmplimənt/ n. 补足(物),余数,补语 ]


Quote:
引用第2楼不想飞的鱼于2007-06-03 11:19发表的:
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 标准表达式中数据类型不匹配。
报错~~~

把异常粘多点出来,类型不对,是数据库里的字段类型和你插入的类型不匹配嘛,转换一下类型嘛
顶端 Posted: 2007-06-03 11:25 | [3 楼]
不想飞的鱼



性别: 帅哥 状态: 该用户目前不在线
头衔: 13579
等级: 荣誉会员
家族: 空の軌跡
发贴: 15279
威望: 4
浮云: 434
在线等级:
注册时间: 2005-10-18
最后登陆: 2014-12-23

5come5帮你背单词 [ photographer /fə'togrəfə/ n. 摄影师 ]


C:\JBuilder9\jdk1.4\bin\javaw -classpath "D:\MyDesign\MyWork\classes;C:\JBuilder9\lib\jbcl.jar;C:\JBuilder9\lib\dx.jar;C:\JBuilder9\lib\beandt.jar;C:\JBuilder9\lib\jdsremote.jar;C:\JBuilder9\lib\dbswing.jar;C:\JBuilder9\jdk1.4\demo\jfc\Java2D\Java2Demo.jar;C:\JBuilder9\jdk1.4\demo\plugin\jfc\Java2D\Java2Demo.jar;C:\JBuilder9\jdk1.4\jre\lib\charsets.jar;C:\JBuilder9\jdk1.4\jre\lib\ext\dnsns.jar;C:\JBuilder9\jdk1.4\jre\lib\ext\ldapsec.jar;C:\JBuilder9\jdk1.4\jre\lib\ext\localedata.jar;C:\JBuilder9\jdk1.4\jre\lib\ext\sunjce_provider.jar;C:\JBuilder9\jdk1.4\jre\lib\im\indicim.jar;C:\JBuilder9\jdk1.4\jre\lib\jaws.jar;C:\JBuilder9\jdk1.4\jre\lib\jce.jar;C:\JBuilder9\jdk1.4\jre\lib\jsse.jar;C:\JBuilder9\jdk1.4\jre\lib\rt.jar;C:\JBuilder9\jdk1.4\jre\lib\sunrsasign.jar;C:\JBuilder9\jdk1.4\lib\dt.jar;C:\JBuilder9\jdk1.4\lib\htmlconverter.jar;C:\JBuilder9\jdk1.4\lib\tools.jar" mywork.Application1
select * from logininfo where username='1' and password=1

java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 标准表达式中数据类型不匹配。

   at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6879)

   at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7036)

   at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3065)

   at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)

   at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:253)

   at mywork.Frame1.jButton1_actionPerformed(Frame1.java:125)

   at mywork.Frame1_jButton1_actionAdapter.actionPerformed(Frame1.java:205)

   at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1764)

   at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1817)

   at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:419)

   at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:257)

   at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)

   at java.awt.Component.processMouseEvent(Component.java:5134)

   at java.awt.Component.processEvent(Component.java:4931)

   at java.awt.Container.processEvent(Container.java:1566)

   at java.awt.Component.dispatchEventImpl(Component.java:3639)

   at java.awt.Container.dispatchEventImpl(Container.java:1623)

   at java.awt.Component.dispatchEvent(Component.java:3480)

   at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3450)

   at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3165)

   at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3095)

   at java.awt.Container.dispatchEventImpl(Container.java:1609)

   at java.awt.Window.dispatchEventImpl(Window.java:1590)

   at java.awt.Component.dispatchEvent(Component.java:3480)

   at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)

   at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)

   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)

   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)

   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)

   at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)

我加了一个部gate就这样了
顶端 Posted: 2007-06-03 11:32 | [4 楼]
不想飞的鱼



性别: 帅哥 状态: 该用户目前不在线
头衔: 13579
等级: 荣誉会员
家族: 空の軌跡
发贴: 15279
威望: 4
浮云: 434
在线等级:
注册时间: 2005-10-18
最后登陆: 2014-12-23

5come5帮你背单词 [ strait /streit/ n. (pl.)海峡,困境 ]


sql = "insert into loginlog (username, logintime,bumen) values ("+ id + ", '" + (new java.util.Date().toString()) + "',hanzi)";加的这个
顶端 Posted: 2007-06-03 11:33 | [5 楼]
随风而飘





性别: 保密 状态: 该用户目前不在线
等级: 品行端正
发贴: 136
威望: 0
浮云: 1121
在线等级:
注册时间: 2006-06-04
最后登陆: 2009-04-14

5come5帮你背单词 [ hail /heil/ n. 冰雹;vi. 下冰雹;vt. (向某人)打招呼,引起注意 ]


没用过access数据库,而且不知道你的Dialog1类的代码,不过我估计是你的access数据库里对于字段bumen的类型没有设为String(Varchar)
顶端 Posted: 2007-06-03 12:46 | [6 楼]
datuz



性别: 帅哥 状态: 该用户目前不在线
等级: 荣誉会员
发贴: 1425
威望: 3
浮云: 399
在线等级:
注册时间: 2006-09-15
最后登陆: 2009-10-03

5come5帮你背单词 [ contrast /'kontræst, kən'træst/ n. 对照,对比,对立面,反差;vt. 使对照,使对比;vi. 形成对照,显出差异 ]


把表结构和实体类发上来看看
顶端 Posted: 2007-06-03 13:18 | [7 楼]
不想飞的鱼



性别: 帅哥 状态: 该用户目前不在线
头衔: 13579
等级: 荣誉会员
家族: 空の軌跡
发贴: 15279
威望: 4
浮云: 434
在线等级:
注册时间: 2005-10-18
最后登陆: 2014-12-23

5come5帮你背单词 [ record /'reko:d, ri'ko:d/ n. 记录,报告,经历,履历,纪录;vt. 记录,记载,录音,录影,录下;a. 创记录的 ]


package mywork;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import com.borland.jbcl.layout.*;
import com.borland.dx.sql.dataset.*;
import com.borland.javax.sql.*;
import com.borland.dx.dataset.*;
import java.sql.*;
import com.borland.dbswing.*;

/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2007</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/

public class Frame1 extends JFrame {
JPanel contentPane;
JMenuBar jMenuBar1 = new JMenuBar();
JMenu jMenuFile = new JMenu();
JMenuItem jMenuFileExit = new JMenuItem();
JMenu jMenuHelp = new JMenu();
JMenuItem jMenuHelpAbout = new JMenuItem();
XYLayout xYLayout1 = new XYLayout();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
JTextField jTextField1 = new JTextField();
JPasswordField jPasswordField1 = new JPasswordField();
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
JLabel jLabel3 = new JLabel();

//Construct the frame
public Frame1() {
  enableEvents(AWTEvent.WINDOW_EVENT_MASK);
  try {
    jbInit();
  }
  catch(Exception e) {
    e.printStackTrace();
  }
}
//Component initialization
private void jbInit() throws Exception {
  contentPane = (JPanel) this.getContentPane();
  contentPane.setLayout(xYLayout1);
  this.setSize(new Dimension(423, 315));
  this.setTitle("Frame Title");
  jMenuFile.setText("File");
  jMenuFileExit.setText("Exit");
  jMenuFileExit.addActionListener(new Frame1_jMenuFileExit_ActionAdapter(this));
  jMenuHelp.setText("Help");
  jMenuHelpAbout.setText("About");
  jMenuHelpAbout.addActionListener(new Frame1_jMenuHelpAbout_ActionAdapter(this));
  jButton1.setVerifyInputWhenFocusTarget(true);
  jButton1.setText("Enter");
  jButton1.addActionListener(new Frame1_jButton1_actionAdapter(this));
  jButton2.setText("Exit");
  jButton2.addActionListener(new Frame1_jButton2_actionAdapter(this));
  jTextField1.addActionListener(new Frame1_jTextField1_actionAdapter(this));
  jPasswordField1.setSelectionStart(1);
  jPasswordField1.setText("");
  jPasswordField1.addActionListener(new Frame1_jPasswordField1_actionAdapter(this));
  jLabel1.setText("password:");
  jLabel2.setText("USER ID:");
  jLabel3.setFont(new java.awt.Font("Dialog", 1, 20));
  jLabel3.setForeground(Color.red);
  jLabel3.setHorizontalAlignment(SwingConstants.CENTER);
  jLabel3.setHorizontalTextPosition(SwingConstants.TRAILING);
  jLabel3.setText("用户登录");
  jMenuFile.add(jMenuFileExit);
  jMenuHelp.add(jMenuHelpAbout);
  jMenuBar1.add(jMenuFile);
  jMenuBar1.add(jMenuHelp);
  contentPane.add(jTextField1,   new XYConstraints(108, 97, 185, 30));
  contentPane.add(jLabel1, new XYConstraints(28, 152, 66, 28));
  contentPane.add(jLabel2, new XYConstraints(28, 99, 64, 27));
  contentPane.add(jLabel3,   new XYConstraints(105, 20, 195, 39));
  contentPane.add(jButton1, new XYConstraints(91, 213, 87, 40));
  contentPane.add(jButton2, new XYConstraints(194, 213, 88, 40));
  contentPane.add(jPasswordField1, new XYConstraints(110, 152, 184, 28));
  this.setJMenuBar(jMenuBar1);
}
//File | Exit action performed
public void jMenuFileExit_actionPerformed(ActionEvent e) {
  System.exit(0);
}
//Help | About action performed
public void jMenuHelpAbout_actionPerformed(ActionEvent e) {
}
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
  super.processWindowEvent(e);
  if (e.getID() == WindowEvent.WINDOW_CLOSING) {
    jMenuFileExit_actionPerformed(null);
  }
}

void jButton1_actionPerformed(ActionEvent e) {

      String id = jTextField1.getText();
      String pwd = jPasswordField1.getText();

      if (id.equals("") || pwd.equals("")) {
      return;
      }
      try {

      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //载入驱动
      Connection con = DriverManager.getConnection("jdbc:odbc:myodbc"); //建立程序与数据库的联系
      Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                                ResultSet.CONCUR_READ_ONLY);

      String sql = "select * from logininfo where username=" + id + " and password=" + pwd +
          "";

      System.out.println(sql);

      ResultSet rs = stmt.executeQuery(sql); //建立ResultSet(结果集)对象,并执行SQL覾uFFFD\uFFFD

      if (!rs.next()) {
        System.out.println("not found");
        rs.close();
        stmt.close();
        con.close();

        return;

      }



      System.out.println("ok");

      rs.close();

      sql = "insert into loginlog (username, logintime,bumen,xingbie) values ("+ id + ", '" + (new java.util.Date().toString()) +"','bumen' ,'男')";
      stmt.executeUpdate(sql);

      stmt.close();
      con.close();



      this.hide();

      Dialog1 d = new Dialog1(this, "", true);
      d.frame1 = this;
      d.id = id;
      d.pwd = pwd;
      d.queryDataSet1.closeStatement();
      d.queryDataSet1.setQuery(new com.borland.dx.sql.dataset.QueryDescriptor(
            d.database1,
          "SELECT * from loginlog where username=" + id, null, true, Load.ALL));
      d.queryDataSet1.open();

      d.show();

      this.show();

      } catch (Exception ex) {
      ex.printStackTrace();
      }


  }

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

void jPasswordField1_actionPerformed(ActionEvent e) {

}

void jTextField1_actionPerformed(ActionEvent e) {

}
}

class Frame1_jMenuFileExit_ActionAdapter implements ActionListener {
Frame1 adaptee;

Frame1_jMenuFileExit_ActionAdapter(Frame1 adaptee) {
  this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
  adaptee.jMenuFileExit_actionPerformed(e);
}
}

class Frame1_jMenuHelpAbout_ActionAdapter implements ActionListener {
Frame1 adaptee;

Frame1_jMenuHelpAbout_ActionAdapter(Frame1 adaptee) {
  this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
  adaptee.jMenuHelpAbout_actionPerformed(e);
}
}

class Frame1_jButton1_actionAdapter implements java.awt.event.ActionListener {
Frame1 adaptee;

Frame1_jButton1_actionAdapter(Frame1 adaptee) {
  this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
  adaptee.jButton1_actionPerformed(e);
}
}

class Frame1_jButton2_actionAdapter implements java.awt.event.ActionListener {
Frame1 adaptee;

Frame1_jButton2_actionAdapter(Frame1 adaptee) {
  this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
  adaptee.jButton2_actionPerformed(e);
}
}

class Frame1_jPasswordField1_actionAdapter implements java.awt.event.ActionListener {
Frame1 adaptee;

Frame1_jPasswordField1_actionAdapter(Frame1 adaptee) {
  this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
  adaptee.jPasswordField1_actionPerformed(e);
}
}

class Frame1_jTextField1_actionAdapter implements java.awt.event.ActionListener {
Frame1 adaptee;

Frame1_jTextField1_actionAdapter(Frame1 adaptee) {
  this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
  adaptee.jTextField1_actionPerformed(e);
}
}
顶端 Posted: 2007-06-03 13:28 | [8 楼]
不想飞的鱼



性别: 帅哥 状态: 该用户目前不在线
头衔: 13579
等级: 荣誉会员
家族: 空の軌跡
发贴: 15279
威望: 4
浮云: 434
在线等级:
注册时间: 2005-10-18
最后登陆: 2014-12-23

5come5帮你背单词 [ yours /jo:z/ pron. 你(们)的(所有物) ]


数据类型
logininfo表
  id(int), username(int), password(int)

loginlog表
  id(int), username(int), logintime(text),bumen(文本)
顶端 Posted: 2007-06-03 13:40 | [9 楼]
随风而飘





性别: 保密 状态: 该用户目前不在线
等级: 品行端正
发贴: 136
威望: 0
浮云: 1121
在线等级:
注册时间: 2006-06-04
最后登陆: 2009-04-14

5come5帮你背单词 [ doubt /daut/ v. & n. 怀疑 ]


你输入的BUMEN是不是中文?
看看你的数据库的编码格式。一般默认是ios-8859-1,这种格式不支持中文,把编码格式换成UTF-8或GB2312或GBK试试
如果输入的不是中文就不是上面的原因
顶端 Posted: 2007-06-04 10:17 | [10 楼]
我来我网·5come5 Forum » 程序员之家

Total 0.009334(s) query 5, Time now is:11-23 12:58, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号