如何在textarea上设置文本?
Posted
技术标签:
【中文标题】如何在textarea上设置文本?【英文标题】:How to set text on textarea? 【发布时间】:2016-06-02 06:21:27 【问题描述】:我被困在up_address
行。我正在做一个更新数据库中值的项目,我一直在 textarea 中设置文本。
try
int row = user_table.getSelectedRow();
String Table_clicked =(String)(user_table.getModel().getValueAt(row, 0));
String sql="select * from userl where id ='"+Table_clicked+"' ";
Statement st=con.createStatement();
rs=st.executeQuery(sql);
if(rs.next())
String up_nam= rs.getString("Name");
up_name.setText(up_nam);
String up_num= rs.getString("Number");
up_number.setText(up_num);
String up_cit= rs.getString("City");
up_city.setText(up_cit);
String up_addre= rs.getString("Address");
up_address.setText(up_addre);
String up_mod= rs.getString("Mode");
up_mode.addItem(up_mod);
String up_typ= rs.getString("Type");
up_type.addItem(up_typ);
catch (Exception e)
【问题讨论】:
你所说的“卡住”是什么意思,是抛出一些错误,还是没有按预期工作? 它没有抛出任何错误,也没有在 textarea 中设置任何值 为什么在少数地方setText
和在少数地方addItem
?
Table_clicked
的来源是否来自用户?看起来您那里可能存在 SQL 注入安全漏洞。
@Arulkumar additems 属于组合框
【参考方案1】:
尝试使用追加功能:
up_address.append(up_addre);
有关更多信息,请参阅此主题:JTextArea setText is not working
【讨论】:
【参考方案2】:它没有抛出任何错误,也没有在 textarea 中设置任何值
你怎么知道它没有抛出任何错误?
您正在使用:
catch (Exception e)
你永远不应该这样做,因为你永远不会知道你是否有 SQL 问题。
你至少应该使用:
catch (Exception e) System.out.println(e);
此外,使用多个文本区域似乎不是一个合适的解决方案。我建议你应该使用 JTable。阅读 How to Use Tables 上的 Swing 教程部分了解基本信息
然后您还可以查看Table From Database 中的Table From Database Example
,了解在 JTable 中显示来自数据库的数据的简单代码。
【讨论】:
【参考方案3】:您在循环中使用up_address.setText(up_addre);
,这意味着如果您在 rs(ResultSet 对象) 中获得多于一行,则您的 JTextField 对象 up_address 的值将被覆盖。
并且您必须确保表“User1”中的字段必须是“Address”
你也可以试试下面的代码
try // Put Your Code Here....
catch (Exception e)System.out.println(e.getMessage());
如果出现任何错误,它将为您提供帮助......
【讨论】:
以上是关于如何在textarea上设置文本?的主要内容,如果未能解决你的问题,请参考以下文章