powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / C#, CacheDataReader, ошибка "Incorrect list format, 0 >= 0"
2 сообщений из 2, страница 1 из 1
C#, CacheDataReader, ошибка "Incorrect list format, 0 >= 0"
    #38971375
Vixler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Иногда ловим такую ошибку "Incorrect list format, 0 >= 0"

Простой казалось бы запрос "Select * from table"

И код:
Код: c#
1.
2.
3.
4.
while(reader.Read())
{
   Debug.WriteLine(reader["Name"]);
}



В портале запрос выполняется нормально, а вот в шарпе - выводит все строки таблицы, как и нужно, но лишний раз заходит на итерацию и при попытке выполнить reader["Name"] валится с ошибкой. То есть reader.Read() возвращает true уже когда все строки прочитаны. Из-за этого возникает ошибка. Причём ошибка, конечно, очень информативная "0 >= 0".

Может кто сталкивался с таким?
...
Рейтинг: 0 / 0
C#, CacheDataReader, ошибка "Incorrect list format, 0 >= 0"
    #38971660
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VixlerИногда ловимТо есть ошибка плавающая?

Длинные строки включены? $zv, .NET (включая битность)?

Приведите полный свой код, например для области "SAMPLES".
У меня работают оба варианта:
Код: c#
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.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
private void Button1Click(object sender, EventArgs e)
{
  Cursor = Cursors.WaitCursor;
  try
  {
    textBox1.Clear();
    using (var connection = new OdbcConnection("DRIVER={InterSystems ODBC35};SERVER=localhost;PORT=1972;DATABASE=SAMPLES;UID=_system;PWD=SYS;Unicode SQLTypes=1"))
    {
      using (var command = new OdbcCommand("SELECT * FROM Sample.Person", connection))
      {
        connection.Open();
        using (var result = command.ExecuteReader())
        {
          while (result.Read())
          {
            textBox1.Text += result["SSN"] + Environment.NewLine;
          }
        }
      }
    }
  }
  finally
  {
    Cursor = Cursors.Default;
  }
}

private void Button2Click(object sender, EventArgs e)
{
  Cursor = Cursors.WaitCursor;
  try
  {
    textBox1.Clear();
    using (var connection = new CacheConnection("Server=localhost;Port=1972;Namespace=samples;User ID=_system;Password=SYS;Pooling=false"))
    {
      using (var command = new CacheCommand("SELECT * FROM Sample.Person", connection))
      {
        connection.Open();
        using (var result = command.ExecuteReader())
        {
          while (result.Read())
          {
            textBox1.Text += result["SSN"] + Environment.NewLine;
          }
        }
      }
    }
  }
  finally
  {
    Cursor = Cursors.Default;
  }
}

VixlerПричём ошибка, конечно, очень информативная "0 >= 0"Она больше для внутренних целей ( раз , два ): в норме такие ошибки обычно не возникают и их быть не должно.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / C#, CacheDataReader, ошибка "Incorrect list format, 0 >= 0"
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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