![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
из-за чего ADOCommand1.Execute выдает 1 запись, когда их много
xyz © (2009-07-31 12:02:00)Запрос можно поставить любой:
select * from [Таблица]
можно более сложный, но возвращается всегда 1 запись, когда их там несколько на самом деле.
ADOCommand1.Execute.Fields.Count=1 всегда. Почему?
xyz (2009-07-31 13:48:00) [1]
> а то ерунду какую-то исполняешь...
то есть то, что я пытаюсь сделать в реальном приложении сделать не понадобится?
Anatoly Podgoretsky (2009-07-31 13:47:00) [2]> xyz (31.07.2009 13:35:17) [17]
Дейта, Граббера и книгу/справку по конкретной СУБД - вот этих будет достаточно.
Palladin (2009-07-31 13:36:00) [3]да хотя бы справку по используемым инструментам... а то ерунду какую-то исполняешь...
xyz (2009-07-31 13:35:00) [4]говорите, что нужно почитать. крайне желательно с примерами
Anatoly Podgoretsky (2009-07-31 13:27:00) [5]
> Может почитать чего для начала?
Это уже предлагали.
xyz (2009-07-31 13:27:00) [6]ну интересует просто i и все :)
clickmaker (2009-07-31 13:25:00) [7]> Я заранее не знаю, что там записано. Просто нужно вытащить
> i-ю запись
а откуда ты это конкретное i получил?
xyz (2009-07-31 13:22:00) [8]locate и lookup это методы, которые ищут конкретную запись? Тогда это не совсем то. Я заранее не знаю, что там записано. Просто нужно вытащить i-ю запись (и то интересует ее значение только по одному полю). Там строка.
Anatoly Podgoretsky (2009-07-31 13:16:00) [9]> xyz (31.07.2009 12:43:06) [6]
Что у тебя содержит Value, что ты хочешь обращаться по индексу?
Плохиш (2009-07-31 12:59:00) [10]
> xyz (31.07.09 12:53) [8]
> А вообще нужно просто из нулевого (там все равно в таблице
> только 1 поле) поля i-ю запись вытащить в обычный string
Может почитать чего для начала?
Palladin (2009-07-31 12:56:00) [11]вот мне интересно, в Fields ты индекс 0 ради чего поставил? и почему ты пытаешься обратится к variant'ному значению как к массиву, и с каких щей тогда ты удивляешься ошибке. ошибка правильная на 100%
clickmaker (2009-07-31 12:55:00) [12]> вообще нужно просто из нулевого (там все равно в таблице
> только 1 поле) поля i-ю запись вытащить в обычный string
перечитай еще раз [7] внимательно
xyz (2009-07-31 12:53:00) [13]
> если нужно значение конкретной записи, нужно на нее встать.
так у меня переменная i и так на тот момент уже была присвоена нужному номеру записи.
А вообще нужно просто из нулевого (там все равно в таблице только 1 поле) поля i-ю запись вытащить в обычный string
clickmaker (2009-07-31 12:45:00) [14]что значит Value[i]?
Value хранит значение текущей записи, но которой в данный момент стоит dataset
если нужно значение конкретной записи, нужно на нее встать.
см. Locate, Lookup
xyz (2009-07-31 12:43:00) [15]
> а тебе не рано еще работать с _recordset?
Мне НУЖНО с ним работать :)
Не подскажете, как вот такой код поправить, чтобы исключение не выдавал?
var s:string;
s:=adodataset1.Fields[0].Value[i].asstring;
Выдает "Invalid argument". Сами данные в ADODataSet вроде нормально записались, recordcount по крайней мере правильный был.
Anatoly Podgoretsky (2009-07-31 12:12:00) [16]а тебе не рано еще работать с _recordset?
Anatoly Podgoretsky (2009-07-31 12:08:00) [17]> xyz (31.07.2009 12:02:00) [0]
А почему ты так решил?
И почему ты решил, что Fields имеет хоть какое то отношение к записям
xyz (2009-07-31 12:08:00) [18]Понял.
Плохиш (2009-07-31 12:04:00) [19]
> можно более сложный, но возвращается всегда 1 запись
> ADOCommand1.Execute.Fields.Count=1 всегда.
Какая связь между этими предложениями?
clickmaker (2009-07-31 12:03:00) [20]> ADOCommand1.Execute.Fields.Count
это не количество записей