Форум: "Базы";
Текущий архив: 2003.01.13;
Скачать: [xml.tar.bz2];
ВнизУдаление записи через RxDBGrid Найти похожие ветки
← →
orion_st (2002-12-18 11:53) [0]Как сортировать элементы в БД в TTable? Пока я это делаю через SQL запрос ORDER BY и рез-тат вывожеу в RXDBGrid.
При этом, по выделенной ячейке мне надо удалять запись из БД.
Использую RxDBGrid1.SelectedField.dataset.delete;
Естественно, мне ругается что ReadOnly, т.к. рез-тат запроса.
Так вот вопрос, как можно в такой ситуации удалить запись из БД?
← →
VAleksey (2002-12-18 12:01) [1]DELETE
FROM "Table1.db"
WHERE // условие из SelectedField :))
Query1.Close;
Query1.Open;
← →
FreeLancer (2002-12-18 12:01) [2]Интересно, как это ты запрос в TTable смог засунуть...
А вот к TQuery можно пристегнуть TUpdateSQL и делать Insert, Update, Delete и Refresh
← →
Prooksius (2002-12-18 12:03) [3]В TTable устанавливаешь нужный IndexName.
Help на TTable.IndexName почитай
← →
orion_st (2002-12-18 12:55) [4]Ну ставлю я IndexName, а при добавлении новой записи, ругается, что ReadOnly. :( Нигде ничего про это не нашел.
Table1.Exclusive := True;
Table1.IndexDefs.Update;
for I := 0 to Table1.IndexDefs.Count - 1 do
if Table1.IndexDefs.Items[I].Fields = "EvntTime" then
Table1.IndexName := Table1.IndexDefs.Items[I].Name;
Table1.Exclusive := False;
← →
orion_st (2002-12-18 12:56) [5]Ну ставлю я нужный IndexName, а при добавлении новой записи, ругается, что ReadOnly. :( Нигде ничего про это не нашел.
← →
FreeLancer (2002-12-18 13:05) [6]CachedUpdates := false;
RequestLive := true;
← →
Johnmen (2002-12-18 13:41) [7]>FreeLancer © (18.12.02 13:05)
Вот ты смеялся вчерась над старым больным человеком, а сам даже в хелп не смотришь...свойства TTable...печально...
← →
FreeLancer (2002-12-18 13:43) [8]Прости старый, но я здесь писал только про TQuery. Я спрашивал как это он запрос в TTable засунуть исхитрился.
← →
orion_st (2002-12-18 14:09) [9]Я запрос через TQuery проводил. И хочу вообще от него уйти, чтобы сортировалось без запросов, а какими-либо еще средствами.
← →
FreeLancer (2002-12-18 14:13) [10]
> Я запрос через TQuery проводил. И хочу вообще от него уйти,
> чтобы сортировалось без запросов, а какими-либо еще средствами.
Извини, это я на выпад Johmen"а отвечал, а вот TQuery на TTable, я лично, не променял бы.
← →
orion_st (2002-12-18 15:11) [11]Тогда подскажи,
я пишу запрос:
Query2.SQL.Text:="DELETE FROM "business.db" WHERE (EvntTime="13:55:43") AND (EvntDate="18.12.02") AND (Msg="1111")";
Подобная запись есть, но она этим запрослм не удаляется. Если я удаляю только по значению в Msg, то запись удаляется.
EvntTime - тип Time
EvntDate - nип Date
Что в запросе неверно?
← →
ЮЮ (2002-12-19 03:58) [12]WHERE (EvntTime="13:55:43")
Там ёщё и милисекунды есть наверное. А более существенных полей, чем время, в таблице нет? А зря
← →
orion_st (2002-12-19 10:03) [13]Других полей нет, только те три. А это время, я из DateTimePicker беру: что выдавалось, то я в БД и записывал. Я уверен, что если поменяю тип записи Date и Time на текст, то все будет нормально удаляться, но не очень хочется.
← →
ЮЮ (2002-12-19 10:09) [14]>Других полей нет
И это называется БИЗНЕСС ? Дата, время и сообщение :-)
Добавь хотя бы поле, по которому можно создать первичный уникальный индекс.
← →
orion_st (2002-12-19 10:47) [15]И что мне это даст? Проблема обращения с запросом к тем же полям все равно останется.
← →
ЮЮ (2002-12-19 10:54) [16]Тогда будет "DELETE FROM "business.db" WHERE ID = ... , а ID у записи никто не меняет.
← →
orion_st (2002-12-19 11:53) [17]Помогло, спасибо. :)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.01.13;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.009 c