Форум: "Базы";
Текущий архив: 2002.11.18;
Скачать: [xml.tar.bz2];
ВнизОдна ADOшная заморочка Найти похожие ветки
← →
СН (2002-10-29 14:43) [0]Почему-то не удается вставить в базку (Access 2000) в поле типа VARCHAR пустое значение, используя ADO Express.
Например,
var
s: string;
begin
Query1.Parameters.ParamByName("Field").Value := "";
// или так
s := "";
Query1.Parameters.ParamByName("Field").Value := s;
// в следующей строке вылазит ошибка о том, что параметр якобы
// неправильно определен
Query1.ExecSQL;
Если вместо "" поставить " " (пробел) - работает.
Не подскажете, в чем проблема ?
← →
stone (2002-10-29 14:53) [1]Попробуй присвоить значение null
← →
СН (2002-10-29 14:53) [2]Не помогает :(
Странно, это должна быть весьма известная заморочка ...
← →
alxx (2002-10-29 14:53) [3]А если попробовать Value:=#0?
← →
СН (2002-10-29 14:59) [4]Вот что помогает немного:
... := PChar(string)^;
но это же один символ, а не вся строка ...
← →
СН (2002-10-29 15:00) [5]Хм, Value := #0 - получилось
Но это частный случай, а как строку типа string пустую загнать ?
← →
СН (2002-10-29 15:39) [6]Пришлось пока сделать офигительную функцию:
function ADOSTR(asStr: string): Variant;
begin
Result := asStr;
if asStr = "" then Result := #0;
end;
Тогда
Value := ADOSTR(""); - ок
← →
dim- (2002-10-30 00:12) [7]а может в базе на этом поле стоит "пустые строки нет"
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.11.18;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c