Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.10.09;
Скачать: [xml.tar.bz2];

Вниз

Использование IBStoredProc   Найти похожие ветки 

 
Term ©   (2005-08-29 14:06) [0]

Гдето попадалось что использовать IBStoredProc нежелательно ввиду глючности последнего, но возникла необходимость его использования. Есть аналогичный компонент в фибсах(раньше с этими компонентами не работал и не устанавливал поэтому спрашиваю), и какие есть рекомендации

Без этого компонента не обойтись


 
Term ©   (2005-08-29 14:30) [1]

народ есть кто живой, кто может просветить относительно использования этого компонента


 
Domkrat ©   (2005-08-29 14:41) [2]

ibase.ru

>В общем случае не рекомендуется к использованию, т.к. имеет >застарелую проблему с обработкой ошибок. При самостоятельном >исправлении данной ошибки в коде (IBStoredProc.pas) может быть >использован.

Ошибка описана сдесь

http://www.ibase.ru/devinfo/ibstp.htm


 
Term ©   (2005-08-29 15:13) [3]

понятно, а с фибсами как дело обстоит


 
Domkrat ©   (2005-08-29 15:47) [4]

C FibPlus все ок.


 
Карелин Артем ©   (2005-08-29 17:41) [5]

Делаем код вида Execute procedure с помощью указанного кода и не думаем о проблемах.
А вообще у меня несколько сот рабочих мест без проблем используют довольно активно сабж и проблем не было.
function GenerateSQL(Database:TIBDatabase;const SPName:string):string;
var
 Query : TIBSQL;
 input : string;
begin
 Database.InternalTransaction.StartTransaction;
 Query := TIBSQL.Create(Database);
 try
   Query.Database := DataBase;
   Query.Transaction := Database.InternalTransaction;
   Query.SQL.Text := "SELECT RDB$PARAMETER_NAME,  RDB$PARAMETER_TYPE " + {do not localize}
                      "FROM RDB$PROCEDURE_PARAMETERS " + {do not localize}
                      "WHERE RDB$PROCEDURE_NAME = " + {do not localize}
                      """" + FormatIdentifierValue(Database.SQLDialect,
                              QuoteIdentifier(Database.SQLDialect, SPName)) + """" +
                      " ORDER BY RDB$PARAMETER_NUMBER"; {do not localize}
   Query.Prepare;
   Query.GoToFirstRecordOnExecute := False;
   Query.ExecQuery;
   while (not Query.EOF) and (Query.Next <> nil) do
   begin
     if (Query.Current.ByName("RDB$PARAMETER_TYPE").AsInteger = 0) then {do not localize}
     begin
       if (input <> "") then
         input := input + ", :" +
           QuoteIdentifier(Database.SQLDialect,trim(Query.Current.ByName("RDB$PARAMETER_NAME").AsString)) {do not localize}
       else
         input := ":" +
           QuoteIdentifier(Database.SQLDialect, trim(Query.Current.ByName("RDB$PARAMETER_NAME").AsString)); {do not localize}
     end
   end;
   if Input <> "" then
     Result := "Execute Procedure " + {do not localize}
         QuoteIdentifier(Database.SQLDialect, SPName) + "(" + input + ")"
   else
     Result := "Execute Procedure " + {do not localize}
         QuoteIdentifier(Database.SQLDialect, SPName);
 finally
   Query.Free;
   Database.InternalTransaction.Commit;
 end;
end;


 
Term ©   (2005-08-29 18:02) [6]

не использование Query не подходит т.к. нужно в течении короткого времени пересадить приложение на FB, в приложении полно TADOStoredProc, время просто поджимает



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2005.10.09;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.014 c
1-1126513281
Yozch1
2005-09-12 12:21
2005.10.09
Максимизация окна


2-1125316634
Nox
2005-08-29 15:57
2005.10.09
Как извлеч корень N-ой степени?


1-1127052828
Андрей Молчанов
2005-09-18 18:13
2005.10.09
Узнать, что главная форма является активной для приложения


2-1125496160
Гость22
2005-08-31 17:49
2005.10.09
Как проверить, доступна ли сетевая папка?


6-1118596832
Николай,герм
2005-06-12 21:20
2005.10.09
подскажите пожалуста как заставить WebBrowser1





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский