Java 如何选择和查看具有特定值的数据库?
因此,我试图搜索并打印PHPMyAdmin数据库中的值。但结果显示了包含该值的变量的所有行。就像我尝试搜索值为2的变量Java 如何选择和查看具有特定值的数据库?,java,sql,select,Java,Sql,Select,因此,我试图搜索并打印PHPMyAdmin数据库中的值。但结果显示了包含该值的变量的所有行。就像我尝试搜索值为2的变量int bulan时一样。这还显示了一个值为12、22或23的行 这是我的密码 System.out.print("Masukkan bulan yang ingin ditampilkan [mm]: "); var.mnip=input.nextLine(); try{
int bulan
时一样。这还显示了一个值为12、22或23的行
这是我的密码
System.out.print("Masukkan bulan yang ingin ditampilkan [mm]: ");
var.mnip=input.nextLine();
try{
String sql="SELECT * FROM lembur " + "where bulan like('%" + var.mnip + "%')";
st= (PreparedStatement) conn.prepareStatement(sql);
rs = st.executeQuery(sql);
while (rs.next()) {
System.out.println ("");
System.out.println ("Nomer Input :"+rs.getString("number"));
System.out.println ("Nama :"+rs.getString("nama"));
System.out.println ("NIP :"+rs.getString("nip"));
System.out.println ("Divisi :"+rs.getString("divisi"));
System.out.println ("Waktu Lembur :");
System.out.println ("dd/mm/yyyy");
System.out.println ("\tTanggal :"+rs.getString("tanggal"));
System.out.println ("\tBulan :"+rs.getString("bulan"));
System.out.println ("\tTahun :"+rs.getString("tahun"));
System.out.println ("Keterangan Lembur :"+rs.getString("ket_lembur"));
System.out.println ("Lama Lembur :"+rs.getString("divisi"));
System.out.println ("");
System.out.println ("======================================");
System.out.println ("");
}
}
catch(SQLException e){
System.out.println("Data Ada Kesalahan" + e.toString());
}
Like运算符给出值为2的所有匹配,这就是为什么在输出中得到12、22或23,您应该使用
equal to operator
进行精确匹配
如果要使用
int
输入获取值
SELECT * FROM lembur where bulan = 2
如果要搜索以“2”开头的字符串变量
SELECT * FROM lembur where bulan like '2%'
使用以下命令:
String sql=“SELECT*FROM lembur”+,其中bulan=('var.mnip')”
当您使用“like”时,查询将给出一个结果,其中输出将包含值而不是确切的值,因此您的代码将被指定为“bulan”,其中包含“2”,而不是值为“2”的“bulan”
如果它不起作用,请告诉我:)这就是喜欢的(%…)
的功能。如果你想找到一个等于2的值,那么你应该使用=
。你的where子句是“where-bulan-like(“%””+var.mnip+“%”)。如果您想要一个精确的查询,请将其更改为where bulan=var.mnip。感谢您的回复,我尝试这样编辑它:`String sql=“SELECT*FROM lembur”+“where bulan=var.mnip”;`但是结果是这样的:Data Ada Kesalahan com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:where子句中的未知列'var.mnip'这不是,我第一次尝试了这个。
SELECT * FROM lembur where bulan like '2%'