Форум: "Базы";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];
ВнизКак записать в базу данных строку содержащую символ ( Найти похожие ветки
← →
AFROLOV (2002-06-18 14:04) [0]Как записать в базу данных строку содержащую символ (")
Заранее спасибо.
← →
Дмитрий Баранов (2002-06-18 14:10) [1]Заэкранировать.
\"
← →
AFROLOV (2002-06-18 14:16) [2]Что то не работает и потом символ ".
← →
hooch (2002-06-18 14:19) [3]надо написать """"""
← →
Дмитрий Баранов (2002-06-18 14:21) [4]MSSQL (
==============================
CREATE TABLE [test] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[txt] [char] (10) COLLATE Cyrillic_General_CI_AS NULL
) ON [PRIMARY]
===============================
insert into test values (""");
===============================
Вуаля %)
← →
Дмитрий Баранов (2002-06-18 14:23) [5]Блин, ты компонентом вставляешь, что ли? :)
← →
AFROLOV (2002-06-18 14:25) [6]To hooch (18.06.02 14:19) так тоже работать не хочет.
← →
hooch (2002-06-18 14:26) [7]ты чем вставляеш ??? :-)
← →
AFROLOV (2002-06-18 14:26) [8]Дмитрий Баранов © (18.06.02 14:23)
Да через ADOQuery.
← →
roottim (2002-06-18 14:27) [9]да сделай параметрический запрос
insert into MyTable values(myid,:p1)
← →
AFROLOV (2002-06-18 14:33) [10]А если непараметрический то тогда как?
← →
Дмитрий Баранов (2002-06-18 14:40) [11]Дай код... Ручаюсь, все должно вставляться без проблем, хоть ты строку на сервер гонишь, хоть FieldByName...AsString.
← →
AFROLOV (2002-06-18 14:46) [12]Если двойных кавычек в строчкенет то все работает без проблем.
SQLStr:="Update TDocFilVal Set Val=""+FieldInfo.ShortVal+",UserId="+UserIdStr+" where DocFilValId="+IntToStr(RecId)+";";
ADOQuery.SQL.Clear();
ADOQuery.SQL.Add(SQLStr);
ADOQuery.ExecSQL();
← →
Дмитрий Баранов (2002-06-18 14:59) [13]SQL = "Update TDocFilVal Set Val="""+FieldInfo.ShortVal+""",UserId="""+UserIdStr+""" where DocFilValId="""+IntToStr(RecId)+"""";
Во-первых, все строковые значения в SQL кавычатся одинарными кавычками, во-вторых, в таких случаях лучше пользоваться функцией format, чтобы в оных кавычках не пропасть.
← →
AFROLOV (2002-06-18 17:08) [14]А поподробнее можно, а то что-то не получается.
← →
Дмитрий Баранов (2002-06-18 17:39) [15]var x: string;
const SQL = "insert into %s values(""%s"", ""%s"", ""%s"", %d)";
x:=""ccc"";
cnn.Execute(Format(SQL, [
"test",
"a"a"a",
"bbb",
x,
1000
])
);
← →
Дмитрий Баранов (2002-06-18 17:42) [16]
( ""%s"", ""%s"", ""%s"",
В этом куске все кавычки - одинарные.
← →
Johnny Smith (2002-06-18 17:47) [17]Можно как CHR(39), например
MyString:="asdf"+CHR(39);
Получится:
asdf"
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.012 c