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