glynco
asked on
How can I enter a variable on a ResultSet Execute Query Where clause?
This is the Query I need to put a variable on the Where clause. Variable is itemnamestr that will be entered by the user.
rs = stmt.executeQuery("SELECT itemid, itemname FROM inventorytable WHERE itemname = itemnamestr ");
I got this error when putting itemnamestr as variable on SQL Where clause
Got an exception!
Unknown column 'itemnamestr' in 'where clause'
How can I correctly do it?
rs = stmt.executeQuery("SELECT itemid, itemname FROM inventorytable WHERE itemname = itemnamestr ");
I got this error when putting itemnamestr as variable on SQL Where clause
Got an exception!
Unknown column 'itemnamestr' in 'where clause'
How can I correctly do it?
import java.sql.*;
import javax.swing.*;
public class NewClass {
public static void main (String[] args) {
String itemnamestr;
itemnamestr = JOptionPane.showInputDialog(null, "Enter item name.");
try {
String url = "jdbc:mysql://localhost:3306/test1";
Connection conn = DriverManager.getConnection(url,"root","mypassword");
Statement stmt = conn.createStatement();
ResultSet rs;
rs = stmt.executeQuery("SELECT itemid, itemname FROM inventorytable WHERE itemname = itemnamestr ");
while ( rs.next() ) {
String itemidvar = rs.getString("itemid");
System.out.println(itemidvar);
String itemnamevar = rs.getString("itemname");
System.out.println(itemnamevar);
}
conn.close();
} catch (Exception e) {
System.err.println("Got an exception! ");
System.err.println(e.getMessage());
}
}
}
instead of statement use PreparedStatement;
PreparedStatement stmt = conn.prepareStatement(("SE LECT itemid, itemname FROM inventorytable WHERE itemname = ?");
stsmt.setString(1,itemname str);
rs=stsmt.executeQuery();
PreparedStatement stmt = conn.prepareStatement(("SE
stsmt.setString(1,itemname
rs=stsmt.executeQuery();
ASKER
rs = stmt.executeQuery("SELECT itemid, itemname FROM inventorytable WHERE itemname = ' "+itemnamestr +" ' " );
The records do not show-up.
The records do not show-up.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
rs = stmt.executeQuery("SELECT itemid, itemname FROM inventorytable WHERE itemname = ' "+itemnamestr +" ' " );