FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Модератор: Модераторы

Re: FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Сообщение dunin » 31.01.2010 10:27:23

alexs писал(а):FBDataSet и UIBQuery - это...

Буквально вчера и то т то "пощупал". alexs-у большой спасибо за FBDataSet. Очень толково сделано. Одного не понял...

Как передать/присвоить значения параметрам (Params) компонента tUIBQuery?
Аватара пользователя
dunin
энтузиаст
 
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и

Re: FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Сообщение alexs » 31.01.2010 12:14:55

Код: Выделить всё
procedure DoSaveRow;
begin
  rxSmsData.First;
  while not rxSmsData.Eof do
  begin
    quSaveRow.Params.ByNameAsInteger['tb_file_packet_id']:=PacketId;
    quSaveRow.Params.ByNameAsString['tb_file_packet_row_sms_text']:=GetFormatedSMS;
    quSaveRow.Params.ByNameAsString['tb_file_packet_row_phone']:=rxSmsData.Fields[0].AsString;
    quSaveRow.ExecSQL;
    rxSmsData.Next;
  end;
end;

Всё понятно?
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Сообщение dunin » 31.01.2010 12:29:25

alexs писал(а):Всё понятно?

Понятней некуда. Только у меня почему-то: unitsql.pas(97,48) Error: No member is provided to access property

В IBX (дельфи) все работало, с tSQLQuery тоже. Тут нескладуха какая-то... :(
Аватара пользователя
dunin
энтузиаст
 
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и

Re: FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Сообщение alexs » 31.01.2010 17:42:00

dunin писал(а):unitsql.pas(97,48) Error: No member is provided to access property

Как я люблю такие сообщения об ошибках :-)
А что у тебя в модуле unitsql в 97 строке за текст? Может покажешь? :D :D :D :D
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Сообщение dunin » 31.01.2010 20:52:27

alexs писал(а):Как я люблю такие сообщения об ошибках :-)
...

Извинямс... :oops:
Вот так работает:
Код: Выделить всё
function InsSQL  (Base:tIBConnection; TableName: string; FieldsName: array of string; NewValues: array of variant; DoCommitRetaining: boolean = True): boolean;
  var iSQL: tSQLQuery;
      S: string; I: Integer;
begin
  if (Length(FieldsName) <> Length(NewValues))
    then begin
      raise Exception.Create(sql001+' InsSQL');
      exit;
    end;

  iSQL:= tSQLQuery.Create(Base);
  iSQL.DataBase:= Base;
  iSQL.Transaction:= Base.Transaction;

  iSQL.SQL.Add('insert into '+TableName+' ');
  S:='';
  for I:= 0 to High(FieldsName)
    do S:= S + TableName+'.'+FieldsName[i]+',';
  SetLength(S, Length(S)-1);
  iSQL.SQL.Add('('+S+') values ');
  S:='';

  for I:= 0 to High(NewValues)
    do S := S+':'+IntToStr(i)+',';
  SetLength(S, Length(S)-1);
  iSQL.SQL.Add('('+S+')');

  for I:= 0 to High(NewValues)
    do iSQL.Params.ParamByName(inttostr(i)).Value:= NewValues[i];
  try
    iSQL.ExecSQL;
    if DoCommitRetaining then Base.Transaction.CommitRetaining;
  finally
    iSQL.Close;
    FreeAndNil(iSQL);
    Base.Transaction.Active:=True;
  end;//finally
Result:= True;
end;   

А вот так НЕ работает
Код: Выделить всё
function InsSQL  (Base:TJvUIBDataBase; TableName: string; FieldsName: array of string; NewValues: array of variant; DoCommitRetaining: boolean = True): boolean;
  var iSQL: tJvUIBQuery;
      //iSQL: tFBDataSet;
      S: string; I: Integer;
begin
  if (Length(FieldsName) <> Length(NewValues))
    then begin
      raise Exception.Create(sql001+' InsSQL');
      exit;
    end;

  iSQL:= tJvUIBQuery.Create(Base);
  //iSQL:= tFBDataSet.Create(Base);
  iSQL.DataBase:= Base;
  //iSQL.Transaction:= Base.Transaction;
  iSQL.SQL.Clear; // ?????

  iSQL.SQL.Add('insert into '+TableName+' ');
  S:='';
  for I:= 0 to High(FieldsName)
    do S:= S + TableName+'.'+FieldsName[i]+',';
  SetLength(S, Length(S)-1);
  iSQL.SQL.Add('('+S+') values ');
  S:='';

  for I:= 0 to High(NewValues)
    do S := S+':'+IntToStr(i)+',';
  SetLength(S, Length(S)-1);
  iSQL.SQL.Add('('+S+')');

  for I:= 0 to High(NewValues)
    do iSQL.Params.ByNameAsVariant[inttostr(i)]:= NewValues[i]; // <-- здесь не работает !!!!!!
  try
    iSQL.ExecSQL;
    //if DoCommitRetaining then Base.Transaction.CommitRetaining;
  finally
    iSQL.Close;
    //iSQL.Free;
    FreeAndNil(iSQL);
    //Base.Transaction.Active:=True;
  end;//finally
Result:= True;
end;     
Аватара пользователя
dunin
энтузиаст
 
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и

Re: FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Сообщение alexs » 31.01.2010 22:49:18

Код: Выделить всё
  UIBQuery1.Params.ByNameAsVariant[IntToStr(i)]:='aaa';

Вот это у меня скомпилировалось.
Может всё дело в том, что у тебя слишком старые UIB? Генри достаточно давно уже разругался проектом JEDI и выкинул все ссылки на них из своего кода. Теперь там все объявления идут без приставки jv :-)
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Сообщение alexrayne » 01.02.2010 01:17:38

Леш, пора тебе вывесить на своих страничках БОЛЬЩОЙ банер про jv. и в багтрекере кинуть етот баг и окоментировать его
alexrayne
постоялец
 
Сообщения: 125
Зарегистрирован: 03.12.2008 16:56:26

Re: FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Сообщение alexs » 01.02.2010 01:48:40

да тут бы вобще сайтом своим заняться...
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Сообщение yuray » 16.02.2010 12:01:15

fbdemofpc 1.9.3.34, FBDataSet SQL Editor: наличие двух кнопок Ok. :roll:
yuray
новенький
 
Сообщения: 95
Зарегистрирован: 22.05.2008 14:19:19
Откуда: Ровно, Украина

Re: FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Сообщение alexs » 17.02.2010 00:06:04

В транке давно исправлено вроде.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Сообщение yuray » 17.02.2010 16:28:20

У меня в установленных пакетах для fbdemofpc прописана версия 1.9.3.34. Для dcl_fb_id_dataset - 1.0.0.1.
А как узнать ревизию FBDataSet компоненты, которая установлена? Брал FBDataSet с SVN. При переносе на другой комп все каталоги .svn удалил...
yuray
новенький
 
Сообщения: 95
Зарегистрирован: 22.05.2008 14:19:19
Откуда: Ровно, Украина

Re: FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Сообщение alexs » 17.02.2010 20:14:11

возьми заново с свн :-)
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Сообщение dunin » 01.03.2010 10:28:39

Где можно взять одним файлом версию FBDataSet совместимую с последней версией UIB (которая без Jv префиксов)?
Спасибо.

Добавлено спустя 1 час 24 минуты 12 секунд:
dunin писал(а):Где можно взять одним файлом версию FBDataSet совместимую с последней версией UIB (которая без Jv префиксов)?

Вопрос снят. Получилось черепашкой забрать файлы.
Аватара пользователя
dunin
энтузиаст
 
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и

Re: FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Сообщение and » 05.03.2010 18:48:26

Модуль jvuibtransactionedit не компилируется: в Uses забыт модуль uiblib, где описан тип tTransParams.

И ещё не понимаю, что и зачем находится в каталоге lazUIBEditors. Сначала не заметил пакета в корне и начал ставить из lazUIBEditors, получил при компиляции ещё плюс к вышеназванной кучу ошибок с модулями и типами с, если не ошибаюсь, давно устаревшим префиксом Jv, e.g. TJvUIBDatabase.
Впрочем, в корне тоже лежит много модулей с этим префиксом.
Что это - рудименты? Или для совместимости со старыми UIB? Или?..

И UIB, и FBDataset из SVN.
Аватара пользователя
and
постоялец
 
Сообщения: 124
Зарегистрирован: 16.09.2009 17:11:01
Откуда: г. Гомель, Беларусь

Re: FBDataSet (библиотека доступа к данным FireBird/Interbase.)

Сообщение alexrayne » 05.03.2010 21:03:08

ИМХО, оно случайно туда залетело и потом в репозиторий скопом было принято.
А вообще попросите у Алексея логин и ветку в проекте и вычищайте мусор.
впринципе можно патчами Алексею откилывать но он етого нелюбит, вообще лень ему возится с чужими правками
alexrayne
постоялец
 
Сообщения: 125
Зарегистрирован: 03.12.2008 16:56:26

Пред.След.

Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

Рейтинг@Mail.ru