为什么我的 SQL 查询中找不到列?
Why am I getting column not found in my SQL query?
我正在尝试从我的 SQL 数据库中获取数据,但我收到一条错误消息,指出 'Student_ID' 列不存在,尽管它确实存在于数据库中。
这是我正在做的事情:
public String[] getWeightedMarks(String s)
{
int h = Integer.parseInt(s);
String query = "SELECT md.Weighted_Marks FROM marks_details md " +
"WHERE md.Student_ID = " + h;
List<String> obj = new ArrayList<String>();
try
{
ResultSet rs = stmt.executeQuery(query);
while (rs.next())
{
obj.add((rs.getString("Weighted_Marks")).toString());
}
}
catch(SQLException e)
{
System.out.println("Problem in Query");
e.printStackTrace();
}
String[] a = (String[]) obj.toArray(new String[obj.size()]);
return a;
}
这是我遇到的错误:
Problem in Query
java.sql.SQLException: Column 'Student_ID' not found.
这是我的数据库的屏幕截图,我已连接到此数据库:
您的代码似乎无法解析查询,原因尚不明朗。相反,您应该使用 PreparedStatement
,例如
PreparedStatement statement = connection.prepareStatement(
"SELECT md.Weighted_Marks FROM marks_details md WHERE md.Student_ID = ?";
statement.setInt(1, h);
ResultSet rs = statement.executeQuery();
这应该有助于减少任何潜在的 SQL 注入和语法错误。
我正在尝试从我的 SQL 数据库中获取数据,但我收到一条错误消息,指出 'Student_ID' 列不存在,尽管它确实存在于数据库中。
这是我正在做的事情:
public String[] getWeightedMarks(String s)
{
int h = Integer.parseInt(s);
String query = "SELECT md.Weighted_Marks FROM marks_details md " +
"WHERE md.Student_ID = " + h;
List<String> obj = new ArrayList<String>();
try
{
ResultSet rs = stmt.executeQuery(query);
while (rs.next())
{
obj.add((rs.getString("Weighted_Marks")).toString());
}
}
catch(SQLException e)
{
System.out.println("Problem in Query");
e.printStackTrace();
}
String[] a = (String[]) obj.toArray(new String[obj.size()]);
return a;
}
这是我遇到的错误:
Problem in Query
java.sql.SQLException: Column 'Student_ID' not found.
这是我的数据库的屏幕截图,我已连接到此数据库:
您的代码似乎无法解析查询,原因尚不明朗。相反,您应该使用 PreparedStatement
,例如
PreparedStatement statement = connection.prepareStatement(
"SELECT md.Weighted_Marks FROM marks_details md WHERE md.Student_ID = ?";
statement.setInt(1, h);
ResultSet rs = statement.executeQuery();
这应该有助于减少任何潜在的 SQL 注入和语法错误。