Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не открывается TADODataSet


Страницы:   1 2

palva ©   (2008-01-01 12:32:00) 

Пытаюсь открыть ADODataSet1 (метод Open)
получаю "Missing Connection or ConnectionString"
Ну и что тут такого криминального? А если мне надо открыть?
Можно, конечно, использовать CreateOleObject. Но может быть и через VCL как-то можно? Какие-то флаги, опции в DataSet установить? Искал-искал - ничего не нашел.


Германн   (2008-01-03 02:13:00) [1]


> > Очень трудно в сей период найти общий язык. :)
> период не при чем. период ничто, личность все!
>

Молчу.


sniknik   (2008-01-03 02:06:00) [2]

> Ну а что вы обижаетесь?
за державу обидно ;(, родное ADO хаите... ;( ;( ;(

> многие ваши слова всерьез не воспринимаются.
оно и видно. полное игнорирование, всего что не понимаете, а т.к. не понимаете многого...
кстати "сакраментальные" слова вовсе не я произнес. но ты видно всех игнорируешь. флаг в руки, и дальше так держать!
p.s.
лучше бы ветку на первых двух постах закрыл, как глупую шутку... и угораздило же догадаться о смысле в бреде. что называется "горе от ума". :) все, телепатор на свалку.

> - имхо новояз. Сам придумал?
новое? значит сам.

> Очень трудно в сей период найти общий язык. :)
период не при чем. период ничто, личность все!


Германн   (2008-01-03 02:00:00) [3]


> palva ©   (03.01.08 01:47) [31]
>
> Германн ©   (03.01.08 01:26) [30]
> Ага, пойду лучше винца налью, если дети еще не всё выпили.
>
>

Тоже вариант неплохой.
Если мне не изменяет память - ты турист со стажем. Значит с вариантами у тебя нет особых проблем.


palva   (2008-01-03 01:47:00) [4]

Германн ©   (03.01.08 01:26) [30]
Ага, пойду лучше винца налью, если дети еще не всё выпили.


Германн   (2008-01-03 01:26:00) [5]


> palva ©   (03.01.08 00:49) [28]

Прими к сведению конкретный период времени и не обижайся. Очень трудно в сей период найти общий язык. :)


Германн   (2008-01-03 01:23:00) [6]


> sniknik ©   (03.01.08 00:00) [27]

Коль.
> соодекватно
- имхо новояз. Сам придумал?


palva   (2008-01-03 00:49:00) [7]

Ну а что вы обижаетесь?
> некоторые слова сознанием просто не воспринимаются
Естественно, что при вашей манере общения, грамотности и уровне понимания вопроса многие ваши слова всерьез не воспринимаются.


sniknik   (2008-01-03 00:00:00) [8]

> Не выходя за рамки традиционных средств VCL наполнение "отсоединенного" рекордсета сделать нельзя.
ты читать то умеешь? исходя из сей ветки можно сказать, что частично. некоторые слова сознанием просто не воспринимаются. открытым текстом. (а я то надеялся догадается, так же как нас о смысле своих действий догадываться заставлял. т.е. соодекватно. нда мечтать не вредно.)

и создать "отсоединенный" можно , и наполнить, и открыть и "отсоединить", все можно, единственное открыть "отсоединенно" нельзя, бо нечего...
но "уперся" ты именно в это, вот вынь тебе да положь "открытие из ничего" только потому, что в других местах подобное видел, а теперь еще и выводы глобальные из этого делаешь.


palva   (2008-01-02 23:17:00) [9]

Разобрался. После добавления и модификации последней записи надо было вставить Post либо уйти с этой записи, чтобы обновление состоялось. А у меня шло сразу sort. В результате последняя запись была неправильна (дублировала предпоследнюю).

А в общем, ответ на вопрос [0] оказался отрицательным. Не выходя за рамки традиционных средств VCL наполнение "отсоединенного" рекордсета сделать нельзя.

Спасибо всем кто проявил участие.


palva   (2008-01-02 14:31:00) [10]

Вы как хотите, господа, но сортировать оно не хочет. DBGrid я присоединил. Но после сортировки вижу, что одна запись пропала, а одна дублируется.

procedure TForm1.Button1Click(Sender: TObject);
var
 rs: _Recordset;
begin
 rs := CoRecordset.Create;
 rs.Fields.Append('F1', adInteger, 0, adFldUnspecified);
 rs.Fields.Append('F2', adVarChar, 30, adFldUnspecified);
 rs.Fields.Append('F3', adInteger, 0, adFldUnspecified);
 rs.Open(EmptyParam, EmptyParam, adOpenStatic, adLockPessimistic, 0);
 ADODataSet1.Recordset := rs;
 ADODataSet1.Append;
 ADODataSet1.Fields[0].Value := 2;
 ADODataSet1.Fields[1].Value := '11111';
 ADODataSet1.Fields[2].Value := 1;
 ADODataSet1.Append;
 ADODataSet1.Fields[0].Value := 2;
 ADODataSet1.Fields[1].Value := '22222';
 ADODataSet1.Fields[2].Value := 2;
 ADODataSet1.Append;
 ADODataSet1.Fields[0].Value := 1;
 ADODataSet1.Fields[1].Value := '33333';
 ADODataSet1.Fields[2].Value := 2;
 ADODataSet1.Append;
 ADODataSet1.Fields[0].Value := 1;
 ADODataSet1.Fields[1].Value := '44444';
 ADODataSet1.Fields[2].Value := 1;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 ADODataset1.Sort := 'F3,F1';
 ADODataset1.First;
 while not ADODataset1.EOF do begin
   ShowMessage(ADODataset1['F2']);
   ADODataset1.Next;
 end
end;


sniknik   (2008-01-02 13:33:00) [11]

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


DrPass   (2008-01-02 13:11:00) [12]


> sniknik ©   (02.01.08 11:16) [18]

Ну опять-же таки... Если речь идет о CreateDataSet (я правильно понял "намек"?), то в справке, если меня память не подводит, четким английским языком было написано, что приложения не должны вызывать этот метод. Что новичок из такого хелпа усвоит?


palva   (2008-01-02 12:29:00) [13]

> sniknik ©   (02.01.08 11:36) [20]
Не всё понял, но за советы спасибо.


sniknik   (2008-01-02 11:45:00) [14]

> вроде бы. кстати константы пользовать не удобнее?
так и есть, точно - adOpenDynamic, adLockPessimistic. помню еще. :о))


sniknik   (2008-01-02 11:36:00) [15]

> Сразу скажу, что с созданием датасета у меня проблем нет.
есть, даже в том виде (вроде привычном вам) у вас есть ошибки, в [14] у вас открывается динамический (вроде бы. кстати константы пользовать не удобнее?) курсор с пессимистической блокировкой... такого типа рекордсет визуальные контролы не поддерживают (вот они и "странности"), тут правда не совсем уверен, дело в том что если и провайдер не поддерживает данную комбинацию то он поставит по умолчанию что может совпасть с дельфевским (есть шанс что все будет хорошо), + вы используете методы не рекомендованные к использованию той же справкой, с исключением если вы не делаете собственный рекордсет. (я бы советовал внять совету справки).

> Трудности возникают с его открытием, о чем я и написал в первом же вопросе.
в который раз уже, вам нужно не открытие а создание! (да в "оригинальных" действие совмещено, но с чего вы взяли что в дельфи так же?)

> К сожалению логику вопроса вы не поняли.
не только я. см. начало. но я в отличии от других сразу понял о чем речь (не логику так подоплеку). попыткой "чего сделать" был ваш вопрос. (если было бы еще и описание... то ответ думаю был бы сразу, еще до моего первого поста.)


palva   (2008-01-02 11:20:00) [16]

sniknik ©
> желаемое изначально "не выходя из VCL" делается, надо лиш почитать справку про создание датасета. с примером
Я не понимаю, какую справку и какой пример вы имеете ввиду. Нужный хэлп не нахожу. Ваш совет
> веревка на балконе, мыло в ванной. очень нужные веши найди их, будет "чтото нашол"...
тоже не помог, увы.
Сразу скажу, что с созданием датасета у меня проблем нет. Компонента кладется на форму и объект создается при создании формы. Трудности возникают с его открытием, о чем я и написал в первом же вопросе. К сожалению логику вопроса вы не поняли.
> все правильно, все логично (в отличие от вопроса)


sniknik   (2008-01-02 11:16:00) [17]

> Эту демагогию "опытного мастера" я уже пару раз слышал :)
о! парой не ограничится, поводов великое множество... (были бы правила форума пожестче, я бы закрывал вопросы дающие такой повод. но при либеральных как здесь только одна надежда перевоспитать... безнадега.)

> Не дождусь и в этот раз.
естественно! я жду вопросов на которые можно ответить, а их нет (и видимо не было в той "демагогии")
не хочется поощрять подход многих на этом форуме - "ложи любой бред по видом вопроса! они типа должны, они догадаются."
хотя бы старожилы должны понять, вопросы надо задавать продуманно, с описанием того что, и как делаешь (а не просто как, без цели), и т.д., т.е. понятными! (какая понятность сдесь, если первая реакция что это глупая шутка?).
кстати я всетаки догадался что именно делается, при всей искаженности смысла вопроса... почему же вы не можете догадаться по намеку (прямому! без всяких искажений)? я ведь практически уже ответил... осталось догадаться о названии метода и из справки скопировать пример. (вот уж чего делать точно не буду).
но вы думаю не считаете себя должными догадываться (а как же тогда с обратной ситуацией с вопросом?), ну так я тебя разочарую, ответа с конкретными примерами не будет (было бы о чем писать, элементарное действие то, мне просто стыдно было бы выкладывать это как пример)
и вообще ->
понятный, грамотно заданный вопрос = можете ожидать такого же ответа.
бред = бред/ничего/закрытая века/оффтоп на личность спрашивающего/.../"демагогия" о том как надо задавать вопросы. но только не "конкретный ответ/пример".
доступно?


DrPass   (2008-01-02 02:55:00) [18]


> sniknik ©   (02.01.08 02:36) [16]

Эту демагогию "опытного мастера" я уже пару раз слышал :) Конкретных примеров, правда, так и не дождался. Не дождусь и в этот раз. Но это, в общем-то и не важно.


sniknik   (2008-01-02 02:36:00) [19]

> для дальнейшей работы средствами VCL.
зачем "для дальнейшей"? если желаемое изначально "не выходя из VCL" делается, надо лиш почитать справку про создание датасета. с примером, и правильно...

хотя, конечно, зачем читать? так веселее... поборемся с трудностями, послушаем вредных советов (сначала их спровоцируем конечно)...

> Причем тут другие языки и привычки - я что-то вас не понял.
а вот посмотри ниже своего поста на [14] может и поймешь. может быть.
странности не там, они "тут.


palva   (2008-01-02 01:56:00) [20]

> ADODataSet1.Recordset :=  _Recordset(rs);
Этот кастинг, конечно лишний.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо