Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Dataset not in edit or insert mode / 15 сообщений из 15, страница 1 из 1
09.08.2019, 06:07
    #39847276
registered
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dataset not in edit or insert mode
Dataset not in edit or insert mode

Код: pascal
1.
2.
3.
4.
5.
6.
7.
mysqltable7.Open;
mysqltable7.IndexName:='param';
MySQLTable7.Edit;
if MySQLTable7.findkey(['pass']) then
  begin

  end;



Почему? Программа была рабочая.
D7, mySQLDAC (работало даже без строчки с Edit).
...
Рейтинг: 0 / 0
09.08.2019, 07:54
    #39847281
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dataset not in edit or insert mode
Методу findkey не нужен режим редактирования... Это весь код?
...
Рейтинг: 0 / 0
09.08.2019, 08:05
    #39847283
registered
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dataset not in edit or insert mode
связанный с MySQLTable7 - весь. до ошибки.
...
Рейтинг: 0 / 0
09.08.2019, 08:19
    #39847287
zinpub
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dataset not in edit or insert mode
registered,

Возможно какие-то события висят на датасете? AfterScroll итп...
...
Рейтинг: 0 / 0
09.08.2019, 08:31
    #39847290
Vlad F
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dataset not in edit or insert mode
registered,

Очевидно, FindKey выводит датасет из режима редактирования.
А ты, вероятно, пытаешься менять значения внутри IF.
...
Рейтинг: 0 / 0
09.08.2019, 09:06
    #39847301
registered
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dataset not in edit or insert mode
Вероятно, старая версия компонент, и не поддерживает "новый" (5.5) MySQL. Писалось, когда ещё было 4.какой-то.
...
Рейтинг: 0 / 0
09.08.2019, 09:29
    #39847308
Vlad F
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dataset not in edit or insert mode
registered,

Если после .Edit поставить Exit, ошибка не пропадет?
...
Рейтинг: 0 / 0
09.08.2019, 09:50
    #39847318
Vlad F
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dataset not in edit or insert mode
registered,

Предыдущий вопрос отзываю.)) А если отладчиком по исходникам?
Ведь это же, очевидно, ошибка из VCL, а не стороны сервера.
...
Рейтинг: 0 / 0
09.08.2019, 11:51
    #39847386
registered
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dataset not in edit or insert mode
Кинуло куда-то сюда:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
constructor TmySQLBlobStream.Create(Field: TBlobField; Mode: TBlobStreamMode);
var
  OpenMode: DbiOpenMode;
begin
  FMode := Mode;
  FField := Field;
  FDataSet := FField.DataSet as TmySQLDataSet;
  FFieldNo := FField.FieldNo;
  if not FDataSet.GetActiveRecBuf(FBuffer) then Exit;
  if FDataSet.State = dsFilter then
    DatabaseErrorFmt(SNoFieldAccess, [FField.DisplayName], FDataSet);
  if not FField.Modified then
  begin
    if Mode = bmRead then
    begin
      FCached := FDataSet.FCacheBlobs and (FBuffer = FDataSet.ActiveBuffer) and
        (FField.IsNull or (FDataSet.GetBlobData(FField, FBuffer) <> ''));
      OpenMode := dbiReadOnly;
    end else
    begin
      FDataSet.SetBlobData(FField, FBuffer, '');
      if FField.ReadOnly then DatabaseErrorFmt(SFieldReadOnly,
        [FField.DisplayName], FDataSet);
      if not (FDataSet.State in [dsEdit, dsInsert]) then // dsSetKey
        DatabaseError(SNotEditing, FDataSet);
      OpenMode := dbiReadWrite;
    end;
    if not FCached then
    begin
      if FDataSet.State = dsBrowse then
        FDataSet.GetCurrentRecord(FDataSet.ActiveBuffer);
      Check(Engine, Engine.OpenBlob(FDataSet.Handle, FBuffer, FFieldNo, OpenMode));
    end;
  end;
  FOpened := True;
  if Mode = bmWrite then Truncate;
end;
...
Рейтинг: 0 / 0
09.08.2019, 11:56
    #39847388
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dataset not in edit or insert mode
registered
Код: pascal
1.
if Mode = bmRead then


В блоб пишешь всё таки.
...
Рейтинг: 0 / 0
09.08.2019, 12:51
    #39847428
Vlad F
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dataset not in edit or insert mode
registered,

Ты весь стек вызовов на этой точке предъяви. Неужели FindKey его вызывало?
...
Рейтинг: 0 / 0
09.08.2019, 13:09
    #39847442
registered
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dataset not in edit or insert mode
Код: sql
1.
2.
3.
4.
5.
TmySQLBlobStream.Create(???,bmWrite)
TmySQLDataSet.CreateBlobStream(???,???)
TmySQLDataSet.SetKeyFields(???,(...))
TmySQLTable.FindKey(???)
TForm1.FormCreate(???)
...
Рейтинг: 0 / 0
09.08.2019, 13:14
    #39847448
Vlad F
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dataset not in edit or insert mode
registered,

В этом самом датасет есть блоб-поля?
Попробуй добавить во множество в выделенной строке кода элемент dsSetKey или как там его.
...
Рейтинг: 0 / 0
09.08.2019, 14:37
    #39847498
registered
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dataset not in edit or insert mode
Блобов нет.

Добавил dsSetKey в [dsEdit, dsInsert] - работает, только кодировки, видимо, не поддерживаются.
БД и таблицы были в utf-8, а в компоненте - не поддерживаются.
У mySQLDatabase пробовал задавать Charset в params.strings - не помогает.
Перевёл всю таблицу в cp1251, и отправляю команду "set names 'cp1251' collate 'cp1251_general_ci'", тогда - работает (если отправлять 'utf8' при БД и таблицах в utf8, тогда - нет).
Не знаю, насколько это правильно.
...
Рейтинг: 0 / 0
09.08.2019, 14:51
    #39847515
Vlad F
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dataset not in edit or insert mode
registered,

А что авторы тех компонентов - скрылись?
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Dataset not in edit or insert mode / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]