java Swing 向数据库传参数出现乱码怎么办

java Swing 向数据库传参数出现乱码怎么办,第1张

1查看java源码的编码格式是否与数据库的编码格式一致,不一致则改为一致就ok了

查看java源码的编码格式:点击你创建的项目右键----->属性----->Resource---->右侧的text

file

encoding

2使用格式化参数

String

name

=

new

String(tradenamegetBytes("ISO-8859-1"),"UTF-8");

不知道你的描述是否是你真正的需求,我这里提供有两种方法如下:

1你可以在主界面里设置一个轮询线程,定时1秒,或者半秒查询数据库,如果有变化就更新。

2你可以使用Observer模式。可以使用JDK自带的PropertyChangeSupport这一接口来帮助实现Observer模式。

典型的空指针错误inputNumber1,inputNumber2没有初始化。改为:

JTextField inputNumber1 =new JTextField("",10), inputNumber2=new JTextField("",10);

程序如下(已经为你调试通了,还能出现界面):

--------------------------------------------

(省略)

--------------------------------------------

补充回答1:你把窗口往大设置点如下:setSize(700, 800);

----------------------

(省略)

---------------------------------------------

补充回答2:搂主你好贪心阿,一连串的问题问个没完:给jtable设置值可以通过setValueAt

(object,int,int);

如本问题可设置可这样设置置:

在语句table = new JTable(a, name);后面补充:

tablesetValueAt("98",0,0);

tablesetValueAt("82",0,1);

tablesetValueAt("72",0,2);

就可把成绩98,82,72加入,具体从数据库查询出来的值也可以类似加入!!

-------------------------------------------

补充回答3:看来我不回答你你还真不给分,现在我就回答你:我给你用Access连接好了,你在该java目

录下建立Studentmdb数据库,然后建立一张StuMarkMng表(注意这些名字必须和我说的一致)如下:

StuMarkMng (表名)

属性:StuID(学号),StuName(姓名),StuMark(成绩)

填入记录:040450107,冯某,98。

然后直接运行程序,点击查询就可以了。(本程序连接数据库不需要建立数据源)

如果你还是不会的话告诉我你的邮箱地址,我给你直接发过去。我只给你做了个查询,其他你可以类似的

做下去。程序代码给你修改如下:

---------------------------------------------

import javaawt;

import javaawtevent;

import javasql;

class Win extends JFrame

{

JTable table;

Object a[][];

Object name[] = { "学号", "姓名", "成绩" };

JButton sele, upde, inse, dele;

JTextField inputNumber1 =new JTextField("040450107",10), inputNumber2=new JTextField("",10);

int rows = 1;

JPanel p;

LinkAccess linkaccess = new LinkAccess();

ResultSet rs=null;

Win()

{

sele = new JButton("查询");

seleaddActionListener

(

new ActionListener()

{

public void actionPerformed(ActionEvent avt)

{

try

{

rs=linkaccessQuery("select from StuMarkMng where

StuID='"+inputNumber1getText()trim()+"'");

if(rs!=null)

{

rsnext();

tablesetValueAt(rsgetString("StuID"),0,0);

tablesetValueAt(rsgetString("StuName"),0,1);

tablesetValueAt(rsgetInt("StuMark"),0,2);

}

}

catch(Exception e){eprintStackTrace();}

}

}

);

upde = new JButton("添加");

a = new Object[rows][3];

table = new JTable(a, name);

p = new JPanel();

padd(new JLabel("学号"));

padd(inputNumber1);

padd(sele);

padd(upde);

add(p, BorderLayoutNORTH);

inse = new JButton("修改");

dele = new JButton("删除");

p = new JPanel();

padd(new JLabel("姓名"));

padd(inputNumber2);

padd(inse);

padd(dele);

add(p, BorderLayoutCENTER);

add(new JScrollPane(table), BorderLayoutSOUTH);

setSize(700, 800);

setVisible(true);

validate();

setDefaultCloseOperation(JFrameEXIT_ON_CLOSE);

}

}

public class Student

{

public static void main(String args[])

{

Win win = new Win();

}

}

//数据库连接

//----------------------------------------------------------------------------------

class LinkAccess

{

String conStr;

Connection con;

ResultSet rs;

Statement stm;

public LinkAccess()

{

conStr="jdbc:odbc:driver={MicroSoft Access Driver (mdb)};DBQ=Studentmdb";

//String sConnStr = "jdbc:odbc:driver={MicroSoft Access Driver

(mdb)};DBQ=testmdb";

try

{

ClassforName("sunjdbcodbcJdbcOdbcDriver");

con=DriverManagergetConnection(conStr,"sa","sa");

stm=concreateStatement();

}

catch(SQLException e){eprintStackTrace();}

catch(ClassNotFoundException e){eprintStackTrace();}

}

//查询数据库方法

public ResultSet Query(String sql)

{

String sb = new String("");

try

{

rs=stmexecuteQuery(sql);

}

catch(Exception e){eprintStackTrace();}

Systemoutprintln("出据库查询完毕!");

return rs;

}

//更改数据库 *** 作

public void updateData(String sql)

{

Systemoutprintln(sql);

try{stmexecuteUpdate(sql);}catch(Exception e){eprintStackTrace();}

}

}

//----------------------------------

打成JAR后,你的驱动jar 用eclipse是打包不进去的你可以把你的驱动包解压缩,然后双击你自己打的jar,点添加,把解压缩出来的一个文件添加到你的jar包中去 另外一个方法,把你的jar包和驱动包放在同一个目录下应该可以跑

以上就是关于java Swing 向数据库传参数出现乱码怎么办全部的内容,包括:java Swing 向数据库传参数出现乱码怎么办、java swing通过数据库 *** 作从一个子界面向主界面的Jtabel添加数据怎么立即自动更新且不 *** 作主界面、高分求助JAVA高手等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9283960.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存