#java #sql #telegram-bot
#java #sql #telegram-бот
Вопрос:
Выполнение sql-запроса, чтобы получить некоторую информацию из моей базы данных
public String chat_id() {
String userid = null;
try {
PreparedStatement st = null;
String query = "select chat_id FROM id";
st = con.prepareStatement(query);
rs = st.executeQuery();
while (rs.next()) {
userid = rs.getString("chat_id");
System.out.println("userid : " userid);
}
} catch (SQLException e) {
e.printStackTrace();
}
return userid;
}
Другой класс, другой метод, возвращает информацию из базы данных в строку, но в моей базе данных нет ни одного значения для моего запроса,
public void sendMsg(){
Login lgc= new Login();
String chat = lgc.chat_id();
String text = "test";
SendMessage sendMessage = new SendMessage();
sendMessage.enableMarkdown(true);
sendMessage.setChatId(chat);
//sendMessage.setReplyToMessageId(message.getMessageId());
sendMessage.setText(text);
try {
execute(sendMessage);
} catch (TelegramApiException e) {
e.printStackTrace();
}
}
Возникает вопрос.: Метод sendMsg необходимо запустить для нескольких значений Строки chat_id . На данный момент он выполняется для последнего значения из базы данных. какую оболочку я делаю?
Комментарии:
1. Зачем вам нужно отправлять несколько сообщений одному и тому же
chatId
? Кажется, вам нужно пообщаться со списком пользователей (а у пользователей может быть несколько чатов), у которых есть список сообщений
Ответ №1:
Вы можете сохранить их в список, а затем соответствующим образом прочитать их в другом классе следующим образом:
public List<String> chat_id() {
String userid = null;
List<String> userids = new ArrayList<>();
try {
PreparedStatement st = null;
String query = "select chat_id FROM id";
st = con.prepareStatement(query);
rs = st.executeQuery();
while (rs.next()) {
userid = rs.getString("chat_id");
userids.add(userid);
System.out.println("userid : " userid);
}
} catch (SQLException e) {
e.printStackTrace();
}
return userids;
}
Вы можете получить значения из списка следующим образом:
for(int i = 0; i < userids.size; i ){
String userid = userids.get(i);
}