2012-02-22 58 views
0

我目前正在尝试制作更新应用程序(基于Java),用户可以浏览并查看现有数据库条目(MySQL)并在需要时编辑它们...我在想如何获取特定条目的信息(即12-1589是身份证或主键的示例),并用所述条目中的所有信息填写文本框....我可能只需要从计算机走开一点,因为我可能会过度思考它,但我不知道...在java中更新现有数据库应用程序

主要我不确定您将用于移动到该条目和检索的确切代码来自该条目的数据....我知道如何一次一步地处理数据库中的一个条目,但我宁愿跳到基于ID号的特定行(例如如果可能的话......)

我刚试过这个,我收到一个错误....错误是: “未知列'12 -1859'在'where子句'”

con = DriverManager.getConnection(host, uName, uPass); 
stmt = con.createStatement();  
String sql = "SELECT * FROM Load_Sheet WHERE Load_Number = 12-1859 limit 1"; 
rs = stmt.executeQuery(sql); 
String BC = rs.getString("BC"); 

如果任何人都可以给我一个手是走错了我将不胜感激......

我刚开始收到其他错误与另一个一起...它是: “非法在空结果集上操作“

尽管res超我设置不是空的,所以我的猜测是,我错过了某个步骤....

+3

我建议您更多地了解关系数据库,可能来自您团队的高级成员。 – Luciano 2012-02-23 00:00:31

+0

通常你会从一个如下所示的SQL语句开始:'SELECT * FROM my_table_name WHERE id = 42;'...但是你没有显示任何代码,或者提到_how_你正在与MySQL交谈(JDBC ?休眠?)。 – 2012-02-23 00:03:05

+0

对不起,我忘了提什么数据库连接我使用它是MySQL的JDBC ... @MДΓΓБДLL我添加了一些代码,我试过了,我得到的错误... – Friendlyghost89 2012-02-24 06:35:50

回答

0

如果我正确理解你的问题,你需要的是一个简单的WHERE声明。

SELECT * FROM table_name WHERE entry_col = "12-1589" LIMIT 1 

LIMIT 1仅添加使得MySql查询只返回单行。

+0

所以我猜它会看起来像这样.... 做连接.... '语句= con.createStatement();'' 字符串SQL = “SELECT * FROM TABLE_NAME WHERE entry_col = ”12-1589“ 极限1”;' “RS = stmt.executeQuery(SQL);'' 字符串ID_col = rs.getString( “ID”);'' 字符串DATA2 = rs.getString( “other_Table_data”);' ......等等...... – Friendlyghost89 2012-02-23 04:23:49

相关问题