Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как записать в базу данных строку содержащую символ (


AFROLOV ©   (2002-06-18 14:04:00) 

Как записать в базу данных строку содержащую символ (")
Заранее спасибо.


Johnny Smith   (2002-06-18 17:47:00) [1]

Можно как CHR(39), например
MyString:="asdf"+CHR(39);
Получится:
asdf"


Дмитрий Баранов   (2002-06-18 17:42:00) [2]

( ""%s"", ""%s"", ""%s"",
В этом куске все кавычки - одинарные.


Дмитрий Баранов   (2002-06-18 17:39:00) [3]

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
])
);



AFROLOV   (2002-06-18 17:08:00) [4]

А поподробнее можно, а то что-то не получается.


Дмитрий Баранов   (2002-06-18 14:59:00) [5]

SQL = "Update TDocFilVal Set Val="""+FieldInfo.ShortVal+""",UserId="""+UserIdStr+""" where DocFilValId="""+IntToStr(RecId)+"""";

Во-первых, все строковые значения в SQL кавычатся одинарными кавычками, во-вторых, в таких случаях лучше пользоваться функцией format, чтобы в оных кавычках не пропасть.


AFROLOV   (2002-06-18 14:46:00) [6]

Если двойных кавычек в строчкенет то все работает без проблем.
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:40:00) [7]

Дай код... Ручаюсь, все должно вставляться без проблем, хоть ты строку на сервер гонишь, хоть FieldByName...AsString.


AFROLOV   (2002-06-18 14:33:00) [8]

А если непараметрический то тогда как?


roottim   (2002-06-18 14:27:00) [9]

да сделай параметрический запрос
insert into MyTable values(myid,:p1)


AFROLOV   (2002-06-18 14:26:00) [10]

Дмитрий Баранов © (18.06.02 14:23)
Да через ADOQuery.


hooch   (2002-06-18 14:26:00) [11]

ты чем вставляеш ??? :-)


AFROLOV   (2002-06-18 14:25:00) [12]

To hooch (18.06.02 14:19)так тоже работать не хочет.


Дмитрий Баранов   (2002-06-18 14:23:00) [13]

Блин, ты компонентом вставляешь, что ли? :)


Дмитрий Баранов   (2002-06-18 14:21:00) [14]

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 (""");
===============================
Вуаля %)


hooch   (2002-06-18 14:19:00) [15]

надо написать """"""


AFROLOV   (2002-06-18 14:16:00) [16]

Что то не работает и потом символ ".


Дмитрий Баранов   (2002-06-18 14:10:00) [17]

Заэкранировать.
\"


Наверх

Титульная страница Поиск, карта сайта Написать письмо