Java 使用保存在数据库中的链接在jlabel上显示客户的图像
在我的Java应用程序中,下面的代码运行良好。但我想展示的照片,客户也除了他们。我不想在数据库中将照片存储为blob。我只想将照片存储在某个本地驱动器中,并在jLabel中显示它。有人能帮我吗Java 使用保存在数据库中的链接在jlabel上显示客户的图像,java,string,image,swing,jdbc,Java,String,Image,Swing,Jdbc,在我的Java应用程序中,下面的代码运行良好。但我想展示的照片,客户也除了他们。我不想在数据库中将照片存储为blob。我只想将照片存储在某个本地驱动器中,并在jLabel中显示它。有人能帮我吗 try{ Class.forName("org.apache.derby.jdbc.ClientDriver"); Connection conn= DriverManager.getConnection("jdbc:derby://localhost:1527/C:/gymsoft/da
try{
Class.forName("org.apache.derby.jdbc.ClientDriver");
Connection conn= DriverManager.getConnection("jdbc:derby://localhost:1527/C:/gymsoft/data", "APP", "app");
Statement stmt=conn.createStatement();
String query ="SELECT * FROM CUSTOMER WHERE CODE = '"+jTextField1.getText()+"' ";
ResultSet rs = stmt.executeQuery(query);
if(rs.next()) {
String w = rs.getString("NAME");
String x = rs.getString("CODE");
TF1.setText(w);
TF2.setText(x);
} else {
JOptionPane.showMessageDialog(null, "User Not Found!!");
}
} catch ( ClassNotFoundException | SQLException e) {
JOptionPane.showMessageDialog(null, "Error In Connection!!");
}
在
JLabel
中显示图像当然是可能的。也可以从链接检索图像。但是,我在您的代码中没有发现这些尝试
我在你的代码中找到的是
- SQL注入漏洞。当用户在
中输入jTextField1
你可以和你的数据库说再见了3';drop database app`
- 混合使用数据库查询和UI组件更新。数据库查询通常速度较慢,因此不应在更新UI的线程所在的同一线程上执行。此外,所有Swing组件都应该在事件分派线程上更新,因此将整个代码移动到工作线程不是一个选项。你需要把它们分开。有关更多信息,请参阅指南
- 您忘记关闭
。添加这样的连接
语句时,请在close
块中执行finally
{}
按钮。2) 请对代码块使用一致的逻辑缩进。“有人能帮我吗?”我不确定。你有什么特别的问题吗?看看FileIO,有XxxStream,使用它可以上传/下载lagre文件或图像,可能取决于数据库中为列+1设置的数据类型,以便发现漏洞,即使没有询问,优点:)