Форум: "Базы";
Текущий архив: 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.036 c