Java 如何将Resultset连接到字符串变量
我想将我的ItemName列值设置为一个与逗号分开的字符串 我试过这样做,但没用Java 如何将Resultset连接到字符串变量,java,sql,Java,Sql,我想将我的ItemName列值设置为一个与逗号分开的字符串 我试过这样做,但没用 String sql = "SELECT `ItemName` FROM `invoicelist` WHERE `InvoiceId` = '"+invoicenum+"' "; try { ResultSet rs = CODE.DbAccess.getdata(sql); while (rs.next()) { Strin
String sql = "SELECT `ItemName` FROM `invoicelist` WHERE `InvoiceId` = '"+invoicenum+"' ";
try {
ResultSet rs = CODE.DbAccess.getdata(sql);
while (rs.next()) {
String em = rs.getString("ItemName");
description = em.replace("\n", ",");
System.out.println(description);
}
如果要在java中进行连接,则应更改为:
String sql = "SELECT `ItemName` FROM `invoicelist` WHERE `InvoiceId` = '" + invoicenum + "' ";
try {
ResultSet rs = CODE.DbAccess.getdata(sql);
while (rs.next()) {
description += rs.getString("ItemName") + ",";
}
description = description.substring(0, description.length() - 1);
//System.out.println(description);
}
如果要在查询中连接,则可以搜索
GROUP\u CONCAT()函数
,如果要在java中进行连接,则应更改为:
String sql = "SELECT `ItemName` FROM `invoicelist` WHERE `InvoiceId` = '" + invoicenum + "' ";
try {
ResultSet rs = CODE.DbAccess.getdata(sql);
while (rs.next()) {
description += rs.getString("ItemName") + ",";
}
description = description.substring(0, description.length() - 1);
//System.out.println(description);
}
String sql = "SELECT `ItemName` FROM `invoicelist` WHERE `InvoiceId` = '" + invoicenum + "' ";
try {
ResultSet rs = CODE.DbAccess.getdata(sql);
StringBuilder builder = new StringBuilder(); // used to store string and append data further if you want
while (rs.next()) {
builder.append(rs.getString("ItemName").append(","); // adding data/Item name to builder and appending comma after adding item name
}
if(builder.length() > 0){ // if there's some data inside builder
builder.setLength(builder.length() - 1); // remove last appended comma from builder
}
System.out.println("Command Separated Data" + builder.toString()); // final data of item name
}
如果要在查询中连接,则可以搜索GROUP\u CONCAT()函数
String sql = "SELECT `ItemName` FROM `invoicelist` WHERE `InvoiceId` = '" + invoicenum + "' ";
try {
ResultSet rs = CODE.DbAccess.getdata(sql);
StringBuilder builder = new StringBuilder(); // used to store string and append data further if you want
while (rs.next()) {
builder.append(rs.getString("ItemName").append(","); // adding data/Item name to builder and appending comma after adding item name
}
if(builder.length() > 0){ // if there's some data inside builder
builder.setLength(builder.length() - 1); // remove last appended comma from builder
}
System.out.println("Command Separated Data" + builder.toString()); // final data of item name
}
另一种方法是从SQL本身解析结果。(这是一个与MySQL兼容的代码)
另一种方法是从SQL本身解析结果。(这是一个与MySQL兼容的代码)
是否要连接结果集中的所有
ItemName
值?您好,是MySQL、Oracle、Sql server、PostgreSQL等吗?您想要SQL解决方案还是Java解决方案?看起来您并不想要真正的连接,只是需要一些字符串替换!!你能给出一个原始ItemName的例子和你期望的结果吗?@DanielE。Java解决方案是否要连接结果集中的所有ItemName
值?您好,是MySQL、Oracle、Sql server、PostgreSQL等吗?您想要SQL解决方案还是Java解决方案?看起来您并不想要真正的连接,只是需要一些字符串替换!!你能给出一个原始ItemName的例子和你期望的结果吗?@DanielE。Java解决方案