как отправить параметры в виде строки - PullRequest
0 голосов
/ 16 декабря 2010

Я пытаюсь сделать следующее:

String dbURL= "jdbc:oracle:thin:@HOST:PORT:DB,USERNAME,PASSWORD";
//Statement stmt = conn.createStatement(dbURL);

conn.createStatment ожидает 3 параметра, а не только 1 строку, поэтому я получаю сообщение об ошибке. возможно ли иметь их все в одну строку и передать его? Я знаю, что это не правильный способ решения этой конкретной проблемы, но я также прошу ссылки на будущее.

Редактировать: моя ошибка. я имею в виду

Connection conn = DriverManager.getConnection(URL)

Ответы [ 3 ]

3 голосов
/ 16 декабря 2010

Используйте PreparedStatement вместо. Предполагается получить SQL-запрос в качестве параметра. Предполагается, что ваша строка подключения будет передана в DriverManager.getConnection() метод

2 голосов
/ 16 декабря 2010

Как уже отмечали другие, то, что вы делаете, просто не сработает. Используйте это:

String dbURL= "jdbc:oracle:thin:@HOST:PORT:DB,USERNAME,PASSWORD";
Connection conn = DriverManager.getConnection(dbURL);
PreparedStatement ps = conn.prepareStatement("your SQL");

Первая строка - это адрес вашей базы данных.

Вторая строка получит фактическое соединение, используя URL-адрес БД.

Третья строка позволит вам получить подготовленную выписку из вашего соединения.

Этот шаблон широко используется, поэтому вы должны использовать его тоже (если вы не в Java EE, где получение соединений БД работает немного иначе).

0 голосов
/ 16 декабря 2010

Работа с JDBC требует нескольких шагов. Обычно это:

  1. Создать соединение;
  2. Создать заявление (или подготовленное заявление);
  3. Выполнить инструкцию;
  4. Обработка результатов;
  5. Закрыть ресурсы (результирующий набор, оператор, соединение).

У меня такое чувство, что вы не уверены в основах JDBC. Взгляните на JDBC учебник .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...