BG Development


Страници: (2) [1] 2   ( Първото ново мнение ) Reply to this topicStart new topicStart Poll

> PreparedStatement и единични кавички
Meniak
Публикувано на: 03-12-2018, 16:15
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 22
Регистриран на: 05.11.18



Здрасти. Това е примерния код.
CODE

String sql = "SELECT articlename FROM article WHERE articlename = ?";
           try (PreparedStatement pst =  DBConnection.getInstance().getConnection().prepareStatement(sql)) {
               pst.setString(1, name);
               ResultSet rs = pst.executeQuery();

name = държи името на артикула.
Всичко си е нормално докато в name няма единична кавичка.
А и какво точно ми ескейпва тоя PreparedStatement;
PMEmail Poster
Top
Gamma Goblin
Публикувано на: 03-12-2018, 16:30
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1489
Регистриран на: 21.02.18



тук усещам много грешно ползване на връзки към базата, не че е свързано с въпроса ти де

ПП: а и не е зле да кажеш какъв е проблема

Това мнение е било редактирано от Gamma Goblin на 03-12-2018, 16:30


--------------------
Напред! Живота е сраженье! Напред! И прав всегда ходи!
Напред, макар към поражение! Ако ще паднеш, прав падни!
---
Raw, and untamed in spirit, We chew this world and Spit it out
---
Challenge my own world to chaos
---
“I overcame myself, the sufferer; I carried my own ashes to the mountains; I invented a brighter flame for myself.”
PMEmail PosterUsers Website
Top
Meniak
Публикувано на: 03-12-2018, 16:43
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 22
Регистриран на: 05.11.18



QUOTE (Gamma Goblin @ 03-12-2018, 16:30)
тук усещам много грешно ползване на връзки към базата, не че е свързано с въпроса ти де

ПП: а и не е зле да кажеш какъв е проблема

Ами проблема е че когато в името Тръба '2.0' има единични кавички се тролва ексцепшън Syntax error: Encountered "2.0"
PMEmail Poster
Top
DarkOne
Публикувано на: 03-12-2018, 17:29
Quote Post


Group Icon
Име: Александър Петков
Група: Администратор
Ранг: Почетен член

Мнения: 3351
Регистриран на: 30.01.04



Най-вероятно е проблем с драйвера за jdbc. Трябва да кажеш какво ползваш, защото не е нормално да се очаква да escape-ваш параметър в prepared statement.


--------------------
The man who learns only what others know
is as ignorant as if he learns nothing.
The treasures of knowledge are the most rare,
and guarded most harshly.
-- Chronicle of the First Age
PMICQ
Top
Meniak
Публикувано на: 03-12-2018, 17:50
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 22
Регистриран на: 05.11.18



QUOTE (DarkOne @ 03-12-2018, 17:29)
Най-вероятно е проблем с драйвера за jdbc. Трябва да кажеш какво ползваш, защото не е нормално да се очаква да escape-ваш параметър в prepared statement.

Благодаря, проблема е идвал точно от драйвера за jdbc. Не знам защо но NetBeans си го е изхвърлил от библиотеката. С две думи нямало е драйвер.
PMEmail Poster
Top
samominavam
Публикувано на: 03-12-2018, 17:55
Quote Post



Име:
Група: Потребител
Ранг: Активен

Мнения: 233
Регистриран на: 22.08.17



QUOTE (Meniak @ 03-12-2018, 16:15)
Здрасти. Това е примерния код.
CODE

String sql = "SELECT articlename FROM article WHERE articlename = ?";
           try (PreparedStatement pst =  DBConnection.getInstance().getConnection().prepareStatement(sql)) {
               pst.setString(1, name);
               ResultSet rs = pst.executeQuery();

name = държи името на артикула.
Всичко си е нормално докато  в name няма единична кавичка.
А и какво точно ми ескейпва тоя PreparedStatement;

Това трябва да си имал само 6 по БЕЛ за да го пишеш.
Бахти съчинението за един препаре....
Вие не сте java програмисти, вие сте писатели icon_biggrin.gif

Това мнение е било редактирано от samominavam на 03-12-2018, 17:55
PMEmail Poster
Top
Meniak
Публикувано на: 03-12-2018, 18:02
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 22
Регистриран на: 05.11.18



QUOTE (Gamma Goblin @ 03-12-2018, 16:30)
тук усещам много грешно ползване на връзки към базата, не че е свързано с въпроса ти де

ПП: а и не е зле да кажеш какъв е проблема

След като решихме проблема да попитам кое те навежда на мисълта че грешно ползвам връзките към базата данни. Така са ми казали че става, така чета че става но никога не отказвам още съвети.
PMEmail Poster
Top
Meniak
Публикувано на: 03-12-2018, 18:08
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 22
Регистриран на: 05.11.18



QUOTE (samominavam @ 03-12-2018, 17:55)
QUOTE (Meniak @ 03-12-2018, 16:15)
Здрасти. Това е примерния код.
CODE

String sql = "SELECT articlename FROM article WHERE articlename = ?";
           try (PreparedStatement pst =  DBConnection.getInstance().getConnection().prepareStatement(sql)) {
               pst.setString(1, name);
               ResultSet rs = pst.executeQuery();

name = държи името на артикула.
Всичко си е нормално докато  в name няма единична кавичка.
А и какво точно ми ескейпва тоя PreparedStatement;

Това трябва да си имал само 6 по БЕЛ за да го пишеш.
Бахти съчинението за един препаре....
Вие не сте java програмисти, вие сте писатели icon_biggrin.gif

Кой е казал че аз съм Java програмист? уча се, още много хляб трябва да изям.
Ти как би го написал?
PMEmail Poster
Top
JanBirdX
Публикувано на: 03-12-2018, 18:25
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1558
Регистриран на: 21.02.05



Искат да кажат че не "чистиш". В реална среда след няколко секунди до минути няма да имаш свободни конекции.
PMEmail Poster
Top
Meniak
Публикувано на: 03-12-2018, 18:35
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 22
Регистриран на: 05.11.18



QUOTE (JanBirdX @ 03-12-2018, 18:25)
Искат да кажат че не "чистиш". В реална среда след няколко секунди до минути няма да имаш свободни конекции.

Оф това ли било. просто тука съм показал частта от кода дето мислех че е проблемен а не целия код. То даже това не е истинския код а го нахвърлях на ръка за да е по лесно разбираем иначе трябва да изпляскам едни методи и да се чудите кое от къде идва.
PMEmail Poster
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Страници: (2) [1] 2  Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2018 | BG Development | All Rights Reserved
RSS 2.0