Форум: "Базы";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
ВнизdbExpress и MSSQL Найти похожие ветки
← →
Asdor (2004-01-23 13:43) [0]Здравствуйте, мастера.
При работе с TSQLConnection и TSQLDataset (в Delphi 7) с Борландовским драйвером для MSSQL (последняя версия, которую я нашел - dbexpmss.dll 7.0.2.113 от 10 октября 2002 г., 7:01:00) в рантайме не открывается больше одного набора данных (хотя MaxStmtsPerConn=0). Выдает код ошибки 16389, текст ошибки #10#10.
В дизайне - открывается.
Это драйвер триальный? или глюк?
Есть ли бесплатные рабочие драйвера для dbExpress и MSSQL?
Если есть, то где их взять?
Спасибо.
← →
Desdechado © (2004-01-23 13:52) [1]поищи на bdn.borland.com
← →
Asdor (2004-02-24 18:39) [2]Искал. Та самая последняя dll"ка - отуда.
Нашел еще dbxsda, но он платный...
Бесплатная версия выдает не более 6 полей из запроса.
Вот и вопрос - может кто пользуется бесплатной рабочей
версией и поделится... :)
← →
Desdechado © (2004-02-24 18:53) [3]а как ты из одного SQLDataset пытаешься одновременно 2 набора получить?
← →
tesseract © (2004-02-25 09:29) [4]Какие наборы данных? TSQLConnection - это соединение с базой данных, на него навешивается TSQLTable/TSQLDataSet - каждый из них пердоставляет доступ к ОДНОЙ таблице.
← →
Asdor (2004-02-25 10:45) [5]Пример кода:
Кто-то снаружи вызывает метод объекта класса TClassMetadata.LoadClasses...
procedure TClassMetadata.LoadClasses(Connection:TSQLConnection; ClassId:Integer=-1);
var Query:TCustomSQLDataSet;
AClass:PClassRecord;
SQLStr:String;
Idx:Integer;
begin
If Assigned(Connection) then
begin
Query:=nil;
SqlStr:="Select * from CLASSES";
If ClassId<>-1 then
SqlStr:=SqlStr+" where CLASS_ID="+IntToStr(ClassId);
Connection.Execute(SqlStr, nil, @Query);
if Assigned(Query) then
try
... Какие-то полезные действия по заполнению AClass^...
Далее вызывается процедура подгрузки атрибутов класса...
LoadClassAtributes(Connection, AClass);
finally
Query.Free;
end;
end;
end;
procedure TClassMetadata.LoadClassAtributes(Connection:TSQLConnection; AClass:PCLassRecord);
var Query:TCustomSQLDataSet;
Atr:PAtributeRecord;
SqlStr:String;
Idx:Integer;
begin
If Assigned(Connection) and Assigned(AClass) then
begin
SqlStr:=Format("SELECT * FROM CLASS_ATRIBUTES "+
"WHERE CLASS_ID=%d "+
"ORDER BY CLASS_ATRIBUTE_NUMBER",[AClass^.ClassID]);
Query:=nil;
-- Exceptinon здесь... Connection.Execute(SqlStr, nil, @Query);
If Assigned(Query) then
try
... Полезные действия
finally
Query.Free;
end;
end;
end;
← →
Asdor (2004-02-25 10:50) [6]Еще... Получающиеся запросы - нормальные и спокойновыполняются в QueryAnalyser.
Если использовать другой SQL-driver (dbxsda.dll) - тоже все выполняется нормально, но он триальный (возвращает не больше 6 полей из запроса)...
← →
Desdechado © (2004-02-25 11:04) [7]TCustomSQLDataSet
Description
TCustomSQLDataSet encapsulates the properties, events, and methods for working with data accessed through dbExpress. Applications should not instantiate TCustomSQLDataSet objects. Instead, instantiate one of the descendant classes.
← →
Artem03 (2004-02-25 11:10) [8]Могу предложить только одно - используй компоненты с закладки
ADO. За 2 года никаких проблем замечено не было.
← →
Asdor (2004-02-25 11:33) [9]To Desperado:
я его и не инстанцианирую... его мне даёт TSQLConnection... :)
To Artem0:
Да, видимо на АДО и придется переходить, если не купим платный драйвер... :) Хорошо хоть пока немного переписывать...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.038 c