Вопрос № 93758: Здравствуйте уважаемые. Помогите мне пожалуйста с вот таким вопросом: мне нужно добавить столбец в таблицу с каким либо наименованием. таблица связана с Access, я пробовал через dbgrid, dbgrid1.calumns.add, dbgrid.calumns.items[].fieldName, adotable1...Вопрос № 93799: Здраствуйте уважаемые эксперты..
У меня к вам во такой вопрос:
Могу ли я без дополнительный компонентов с помощью всего лишь ADOQuery (не используя ADoTable ADOConection, Datasource) послать запрос на MSSQL сервер (по типу- определить количе...
Вопрос № 93.758
Здравствуйте уважаемые. Помогите мне пожалуйста с вот таким вопросом: мне нужно добавить столбец в таблицу с каким либо наименованием. таблица связана с Access, я пробовал через dbgrid, dbgrid1.calumns.add, dbgrid.calumns.items[].fieldName, adotable1.post, но дело в том что програмно выводиться добавление а в таблице которая в access добавления нету, мне ктото говорил что dbgrid только для просмотра, подскажите как добавить столбец через dbgrid (чтобы он сохранялся в таблицу access), а если так нельзя то через
какой компонент можно? заранее спасибо.
Отвечает: Проходящий Мимо
Здравствуйте, Николайченко Андрей Сергеевич!
К базе даных Вы имеете доступ при помощи компонентов ADO. Для изменения структур таблиц бросаем компоненту TADOCommand с закладки палитры ADO Delphi.
В нем нужно в свойстве Connection указать на ADOConnection. Далее заполняем свойство CommandText следующими командами:
Для добавления столбца: ALTER TABLE Название_Таблицы ADD COLUMN Название_Столбца Формат_Столбца;
Для обновления столбца: ALTER TABLE Название_Таблицы ALTER COLUMN Название_Столбца Формат_Столбца;
Для удаления столбца: ALTER TABLE Название_Таблицы DROP Название_Столбца;
Форматы могут быть следующие:
Текстовый TEXT(количество знаков)
Дата и время DATE
Действительное FLOAT
Целое NUMBER
Ltyt;yjt CURRENCY, и т.д., смотрите хелп по Access
Внести изменения можна по комманде ADOCommand.Execute;
Ну кажись, все, удачи...
--------- Carpe diem!
Ответ отправил: Проходящий Мимо (статус: 9-ый класс)
Ответ отправлен: 03.07.2007, 12:31
Вопрос № 93.799
Здраствуйте уважаемые эксперты..
У меня к вам во такой вопрос:
Могу ли я без дополнительный компонентов с помощью всего лишь ADOQuery (не используя ADoTable ADOConection, Datasource) послать запрос на MSSQL сервер (по типу- определить количество строк у которых, в не которых ячейках находятся "1" ) при этом вывести результат запроса числом в Lable.caption? - если да - то приведите наглядные примеры, если нет - то как реализовать.
(убедительная просьба дать исчерпывающий ответ)
Отправлен: 03.07.2007, 17:17
Вопрос задал: Joni_ (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: BlackRaider
Здравствуйте, Joni_!
Да можете в ADOQuery есть свойство ConnectionString туда вставляете строку коннекта (проще ее сформировать в ADOConnect и забрать от туда)
Сам запрос примерно след вида :
Select count(ID) as kol
from TableName
where Poles1 Like '%1%'
где ID Уникальное поле
TableName Таблица в которой ищите
Poles1 Имя поля в котором ищите 1-ки
в программе добавьте след код:
ADOQUERY.Active:=true;
Lable.caption:=adoquery.fieldbyname('kol').asstring
Ответ отправил: BlackRaider (статус: 1-ый класс)
Ответ отправлен: 03.07.2007, 17:27
Отвечает: Виктор Пырлик
Здравствуйте, Joni_!
Да, можете. Для этого необходимо в ADOQuery, прописать свойство ConectionString по формату:
Provider=SQLOLEDB.1;
Persist Security Info=False;
User ID=<логин на сервере MS SQL>;
Initial Catalog=<ваша база данных>;
Data Source= <IP адрес или имя машины, на которой установлен MS SQL>
Это одна строка, разделенная точкой с запятой.
После этого, вам надо написать SQL запрос в свойстве SQL и все.
Вывод данных возможен в любые компоненты визуализации – для этого, можно после метода ADOQuery.Open читать данные полей, например так: