Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.02;
Скачать: CL | DM;

Вниз

передача запроса SQL серверу   Найти похожие ветки 

 
Draught ©   (2004-04-01 12:57) [0]

Проблемма в следующем, передается запрос, в котором встречается знак " как добавить в строку этот знак??? Конечно его можно заменить на " но тогда возникает проблемка с самим SQL сервером, он этот запрос не принимает, помнится где-то была настроечка, которая говорила серверу о том, что такие запросы тоже верны. Так вот, мне хотелось бы узнать где эта настроечка или как запихнуть знак " в строку запроса...


 
Ega23 ©   (2004-04-01 12:58) [1]

два опострофа ставить вместо одного


 
Draught ©   (2004-04-01 13:01) [2]

???
непонятно как это можно реализовать
пример:
"select NAME from TABLE where NAME=""+Edit1.Text+""";

это мой запрос, я точно знаю, что SQL сервер можно заставить принимать знак кавычек как апостраф, но не помню где эта настройка, а вот как будет выглядеть 2 апострафа??? один открывающий, а второй закрывающий. Извиняюсь за выражение, возможно я не прав, но по-моему вы ерунду сморозили...


 
sir John ©   (2004-04-01 13:04) [3]

можно и вот так:
QuotedStr(const S: string): string; Подробное описание функции в справке


 
Ega23 ©   (2004-04-01 13:06) [4]

Я вообще свою функцию пользую:

Function Valx( i:Variant;d:string=""):string;{ret: <Str_of_Var>, }
//var //ss:string;
  // n:numeric;
begin
result:="";
try
case VarType(i) of
 varEmpty,//    = $0000;
 varNull: result:="Null"+d;
 varString: result:=""""+i+""""+d ;
 varDate: begin
           DateTimeToString(result,SQLDateTimeFmt,i);
           result:=result+d ;
          end;
 varDouble,
 varSingle: result:=NumsOnlyS(VarToStr(i)) +d;
else result:=VarToStr(i)+d;
end;//case
except
result:="";exit;
end;
end;


 
sir John ©   (2004-04-01 13:09) [5]


Sql.Add("select NAME from TABLE where NAME = "+QuotedStr(Edit1.Text);


 
Draught ©   (2004-04-01 13:16) [6]

Ясно, что ничего не ясно...
мне нужно пихнуть серверу строку

select NAME from TABLE where NAME="бяка"

сервер не понимает кавычек, как его заставить понимать кавычки??? В настройках есть точно, только где...

или нужно програмно в этой строке заменить кавычки на апострафы, т.е. пихнуть строку

select NAME from Table where NAME="бяка"

но вот как это сделать???

2Ega23 - функция абсолютно непонятная
единственный интересный момент - это когда result:="""" , что мы имеем в строке result??? Апостраф???


 
Draught ©   (2004-04-01 13:19) [7]

sir John, так вот это более интересно, т.е. эта функция заключает в апострафы строку!!!


 
Draught ©   (2004-04-01 13:23) [8]

2sir John, огромный сенкс, все работает...


 
PVOzerski ©   (2004-04-01 13:23) [9]

Так в чем проблема-то? Если компилятор Паскаля принимает апостроф  внутри строковой константы (SQL-запроса) за конец строки, пишется сдвоенный апостроф, и все дела. При компиляции он будет заменен на одинарный, честное слово! Если не веришь, пиши вместо него #39.


 
sir John ©   (2004-04-01 13:24) [10]

ну да, типа того :)


 
sir John ©   (2004-04-01 13:25) [11]

Draught: не за что. Welcome!


 
Ega23 ©   (2004-04-01 14:15) [12]

единственный интересный момент - это когда result:="""" , что мы имеем в строке result??? Апостраф???

нет, мы имеем сроку "пустая строка"


 
LAMER100   (2004-04-01 14:22) [13]

блин, все проще
Query1.Close;
Query1.Sql.Clear;
Query1.Sql.Add("select NAME from TABLE where NAME = :NAME1");
Query1.ParaByName("NAME1").ASString := Edit1.Text;
Query1.Open;


 
LittleSpo   (2004-04-01 14:25) [14]

вообщето если вас что то не устраивает ,
почему бы не юзать двойные кавычки ?
MSSQL с радостью их проглатывает .
ну а вообще в хелп иногда надо заглядывать


 
LAMER100   (2004-04-01 14:27) [15]

>LittleSpo
InterBAse их не заглатывает


 
LittleSpo   (2004-04-01 14:30) [16]

Это понятно , просто автор топика не указал какую БД юзает .


 
Desdechado ©   (2004-04-01 18:36) [17]

IB прекрасно понимает двойные кавычки, это проблема драйвера для dbExpress от Borland
поищи в инете, есть альтернативные



Страницы: 1 вся ветка

Текущий архив: 2004.05.02;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.023 c
14-1081838585
REA
2004-04-13 10:43
2004.05.02
Наследование


3-1080912855
FireStorm
2004-04-02 17:34
2004.05.02
Как подключиться к БД MYSQL в Дельфи?


14-1081741095
mfender
2004-04-12 07:38
2004.05.02
День космонавтики


11-1065766982
Deimos
2003-10-10 10:23
2004.05.02
Где найти пример модуля для работы с JPEG


4-1078821958
EXE7
2004-03-09 11:45
2004.05.02
второе окно на API-очереди,сделать окно