Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];

Вниз

передача запроса 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.034 c
1-1082229051
[BAD]Angel
2004-04-17 23:10
2004.05.02
PopUpMenu


14-1081108210
Виталий
2004-04-04 23:50
2004.05.02
Как набрать с клавиатуры символы с низкими номерами?


6-1078419776
Vilux
2004-03-04 20:02
2004.05.02
SMPP


3-1080824899
Простой
2004-04-01 17:08
2004.05.02
Что делать с dbf?


3-1081154226
ПрогерШ
2004-04-05 12:37
2004.05.02
Как в АДО привести типы? CAST не подходит - его нету :(





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский