Форум: "Базы";
Текущий архив: 2004.03.03;
Скачать: [xml.tar.bz2];
ВнизРабота ч/з ADO 2 Найти похожие ветки
← →
snake7 (2004-02-06 16:33) [0]Делаю такой запрос
бд октрыта в режиме Mode=Read;
ADODataSet1.CommandText:="SELECT "" AS N,* FROM tabl1";
ADODataSet1.Open;
при попытке редактирования:
ADODataSet1.Edit;
ADODataSet1.Fields[0].AsString:="1";
ADODataSet1.Post;
выдает ошибку, как это обойти чтобы поменять занчения первого столбца??????
← →
MV (2004-02-06 16:35) [1]Сервак какой?
---------
Может, вообще TADOQuery / TADOCommand использовать?
← →
snake7 (2004-02-06 16:37) [2]provider=Microsoft.Jet.OLEDB.4.0
← →
snake7 (2004-02-06 16:40) [3]Если поможет ошибка такая "Field N cannot be modified"
← →
MV (2004-02-06 16:42) [4]Потому что поле #0 у тебя - не настоящее.
Сделай "SELECT * FROM tabl1"
← →
Dedushka_Mazai (2004-02-06 16:43) [5]может, бд открыть в режиме write, если конечно таковой существует?
← →
Anatoly Podgoretsky (2004-02-06 16:44) [6]Значение первого столба константа, кроме того его физически не существует, нечего менять.
← →
snake7 (2004-02-06 16:44) [7]блин
в этом и вопрос то мне нужен такой запрос что он выводил все поля
а первый столбик показывал порядковый номер записи!!!!!
← →
Anatoly Podgoretsky (2004-02-06 16:46) [8]Может тебе CLientDataset подойдет
← →
MV (2004-02-06 16:46) [9]Calculated поле тебя спасет.
Но, IMHO - ваш subj - ненужная блажь.
← →
snake7 (2004-02-06 16:49) [10]2 MV
как оно меня сапасет?
← →
VLAD-MAL (2004-02-06 16:57) [11]Кидаешь в TADODataSet "SELECT * FROM tabl1",
потом открываешь Field Editor, > Add All Fields > New Field >
Name = "NPP", Type= "String", Field Type = Calculated, Syze = 5,
OK
В OnCalcFields - формируешь значение. Если знаешь как, конечно.
← →
snake7 (2004-02-06 16:59) [12]да все хорошо а как такое сделать когда программа запущена?
← →
Плохиш (2004-02-06 17:03) [13]
> snake7 (06.02.04 16:59) [12]
> да все хорошо а как такое сделать когда программа запущена?
1. Останавливаешь программу
2. Делаешь как сказал VLAD-MAL
3. Компилируешь
4. Запускаешь программу
или думаешь над тем, что сказал АП
← →
snake7 (2004-02-06 17:05) [14]
> В OnCalcFields - формируешь значение. Если знаешь как, конечно.
а как формировать????
← →
snake7 (2004-02-06 17:06) [15]
> В OnCalcFields - формируешь значение. Если знаешь как, конечно.
а как формировать????
← →
VLAD-MAL (2004-02-06 17:13) [16]Можно и в Run - time. Но только, когда CreateDataSet выполняется. Так что или переписываешь компонент, или юзаешь TClientDataSet. Там такое (CreateDataSet) доступно.
пример:
cdsTable := TClientDataSet.Create(Self);
try
ADODataSet.Open;
// Копируем структуру данных
cdsTable.FieldDefs.Assign(ADODataSet.FieldDefs);
// Добавляем поле NPP - для обработки cdsTable.FieldDefs.Add("NPP", ftInteger);
cdsTable.CreateDataSet;
Все - и никаких Calculated, если не хочешь!
← →
VLAD-MAL (2004-02-06 17:17) [17]> В OnCalcFields - формируешь значение. Если знаешь как, конечно.
а как формировать????
procedure TForm1.ADODataSet1CalcFields(DataSet: TDataSet);
begin
DataSet.FieldByName("NPP").AsString := "Я самый крутой!";
end;
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.03.03;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.006 c