主要通过“元件名”和“生产厂家”2个内容来查询数据库并显示结果
部分代码如下:
Object a[][];
Object colname[] = {"元件名","生产厂家"};
.....
a = new Object[30][2];
table = new JTable(a,colname);
......
if(eb.getSource() == b_enter){
try{
int i = 0;
sqll = sql.connect();
a1 = "'" + "%"+t_name.getText().trim()+"%" + "'";//t_name为“元件名”文本框
a2 = "'" + "%"+t_company.getText().trim()+"%" + "'";//t_company为“生产厂家”文本框
String temp = "select * from FF where 元件名 like "+a1+"and 元件厂家 like "+a2;
rs = sqll.executeQuery(temp);
for(int n=0; n<2; n++){
a[i][n] = rs.getString(n+2);
}
i++;
p_bar.setValue(i);p_bar.setString("查询了"+i+"条记录");
......
整个代码测试并读取数据库内容都没问题。。
假设我的table为:
table FF:元件名 生产厂家
aa bb
aa bb
aa bb
cc dd
ee ff
.... ....
现在问题主要出在数组a 的显示问题上了,主要有2个大问题:
1.当输入的a1=aa,a2=bb时,提示我查询到3条记录,但是a[30][2]这个表格并不显示出数据,只有用鼠标点击该表格内容框时才显示出来(用鼠标点a[0][0]表格位置时,就显示出 aa bb,要是接着点a[3][0]则显示完3条记录),不知道是不是table需要刷新?若需要的话怎么刷新?
2.在1的基础上,若再次输入a1=cc,a2=dd时(1的问题依然存在,就是表内无法立即刷新出查询到的记录),提示找到1条记录。但最终结果为:
cc dd
aa bb
aa bb
就是第一条记录更新了,但之前查询时遗留下来的2-3条记录依然存在,不知道该如何在每次按下 b_enter键时都更新一遍数组a。我希望第二次查询的结果为:
cc dd
把之前的查询到的记录删除掉。
这2个问题我从早上弄到现在,,,一直找不到解决的办法。。特来不耻下问。。希望大家帮忙下、
部分代码如下:
Object a[][];
Object colname[] = {"元件名","生产厂家"};
.....
a = new Object[30][2];
table = new JTable(a,colname);
......
if(eb.getSource() == b_enter){
try{
int i = 0;
sqll = sql.connect();
a1 = "'" + "%"+t_name.getText().trim()+"%" + "'";//t_name为“元件名”文本框
a2 = "'" + "%"+t_company.getText().trim()+"%" + "'";//t_company为“生产厂家”文本框
String temp = "select * from FF where 元件名 like "+a1+"and 元件厂家 like "+a2;
rs = sqll.executeQuery(temp);
for(int n=0; n<2; n++){
a[i][n] = rs.getString(n+2);
}
i++;
p_bar.setValue(i);p_bar.setString("查询了"+i+"条记录");
......
整个代码测试并读取数据库内容都没问题。。
假设我的table为:
table FF:元件名 生产厂家
aa bb
aa bb
aa bb
cc dd
ee ff
.... ....
现在问题主要出在数组a 的显示问题上了,主要有2个大问题:
1.当输入的a1=aa,a2=bb时,提示我查询到3条记录,但是a[30][2]这个表格并不显示出数据,只有用鼠标点击该表格内容框时才显示出来(用鼠标点a[0][0]表格位置时,就显示出 aa bb,要是接着点a[3][0]则显示完3条记录),不知道是不是table需要刷新?若需要的话怎么刷新?
2.在1的基础上,若再次输入a1=cc,a2=dd时(1的问题依然存在,就是表内无法立即刷新出查询到的记录),提示找到1条记录。但最终结果为:
cc dd
aa bb
aa bb
就是第一条记录更新了,但之前查询时遗留下来的2-3条记录依然存在,不知道该如何在每次按下 b_enter键时都更新一遍数组a。我希望第二次查询的结果为:
cc dd
把之前的查询到的记录删除掉。
这2个问题我从早上弄到现在,,,一直找不到解决的办法。。特来不耻下问。。希望大家帮忙下、
第二个问题的原因应该是数组或者JTable的model没出去原来的记录而直接加薪记录了。
btw,最后用的那个“不耻下问”,太油菜了。
别人都说有问题先问百度,解决不了再来BBS请高手,我现在就是第二种境界了。
言归正传
第一个问题解决了就是最后调用个table.updateUI();
看来自己没学好的缘故- -!
现在还在努力思索怎么解决第二个烦恼,,大家赐教下#14