Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2009, 20:13   #1
rcr
 
Регистрация: 18.05.2009
Сообщений: 8
По умолчанию Выполнение запросов к БД

Будучи нубом в использовании БД и Дельфи испытываю затруднения с созданием запросов. Использую Borland Delphi 8, база MS Access, данные загоняю в DataGrid через BdpDataAdapter. Хочу по нажатию кнопки данные из текстбоксов занести в БД (с SQL синтаксисом наловчился давно). Так вот проблема не с синтаксисом запросов с их выполнением. Пол дня рыскаю по инету в поисках примера выполнения запроса.
Нашел вот такой:

Код:
procedure TWinForm.Button1_Click(sender: System.Object; e: System.EventArgs);
var
  lADOQuery: TADOQuery;
  lUniqueNumber: Integer;
begin
    lADOQuery := TADOQuery.Create(nil); 
    with lADOQuery do 
    begin
      ConnectionString := Global_DBConnection_String;
      // Insert Record into MSAccess DB using SQL
      SQL.Text := 
        'INSERT INTO patients Values (' +
        QuotedStr(UpperCase(TextBox1.Text)) + ',' +
        QuotedStr(IntToStr(lUniqueNumber)) + ')';
      ExecSQL; 
      Close; 
      // This Refreshes the Grid Automatically 
      Timer1.Interval := 5000; 
      Timer1.Enabled  := True; 
    end;
end;
Так компилятор сразу матюком Undeclared identifier: TADOQuery
Что может забыл? Подскажите если не трудно что не так делаю.
rcr вне форума Ответить с цитированием
Старый 18.05.2009, 20:22   #2
edgy
Форумчанин
 
Регистрация: 15.06.2008
Сообщений: 271
По умолчанию

Цитата:
Сообщение от rcr Посмотреть сообщение
Так компилятор сразу матюком Undeclared identifier: TADOQuery
Что может забыл?
Включить в Uses ADODB?
edgy вне форума Ответить с цитированием
Старый 18.05.2009, 20:28   #3
rcr
 
Регистрация: 18.05.2009
Сообщений: 8
По умолчанию

Цитата:
Сообщение от edgy Посмотреть сообщение
Включить в Uses ADODB?
Ухм.. Дописал в uses ADODB.
Выдает File not found: 'ADODB.dcuil'

Неправильно подключил?
rcr вне форума Ответить с цитированием
Старый 18.05.2009, 20:43   #4
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

имхо еще неплохо бы указать список полей таблицы, чтобы все данные внеслись правильно
Код:
insert into table_name
(field1, field2, ...)
values(val1, val2, ...)
soleil@mmc вне форума Ответить с цитированием
Старый 18.05.2009, 21:12   #5
edgy
Форумчанин
 
Регистрация: 15.06.2008
Сообщений: 271
По умолчанию

Цитата:
Сообщение от rcr Посмотреть сообщение
dcuil
Хотел сперва удивиться, но сразу же обратил внимание на:

Цитата:
Сообщение от rcr Посмотреть сообщение
Использую Borland Delphi 8
.NET стало быть.

С Delphi for .Net дела не имел, но есть кое-какие соображнения.

Попробуйте отыскать в директории, где установлен Delphi этот самый "ADODB.dcuil". Или "ADODB.pas". Если первый не найдете, то скомпилируйте второй. В итоге должны получить тот самый "ADODB.dcuil".
Надеюсь, что эта статья чем-нибудь Вам поможет.
edgy вне форума Ответить с цитированием
Старый 18.05.2009, 21:48   #6
rcr
 
Регистрация: 18.05.2009
Сообщений: 8
По умолчанию

Цитата:
Сообщение от soleil@mmc Посмотреть сообщение
имхо еще неплохо бы указать список полей таблицы, чтобы все данные внеслись правильно
Код:
insert into table_name
(field1, field2, ...)
values(val1, val2, ...)
Да, спасибо. Просто еще до этого не добрался.

Цитата:
Сообщение от edgy
.NET стало быть.

С Delphi for .Net дела не имел, но есть кое-какие соображнения.

Попробуйте отыскать в директории, где установлен Delphi этот самый "ADODB.dcuil". Или "ADODB.pas". Если первый не найдете, то скомпилируйте второй. В итоге должны получить тот самый "ADODB.dcuil".
Надеюсь, что эта статья чем-нибудь Вам поможет.
Да, .NET треклятый. Файлов с именем adodb не нашел
rcr вне форума Ответить с цитированием
Старый 19.05.2009, 13:38   #7
rcr
 
Регистрация: 18.05.2009
Сообщений: 8
По умолчанию

В общем плюнул я на 8 делфи, поставил 6 и более-менее разобрался с выполнением запросов. Теперь возник другой вопрос - при выполнении запроса появляется форма с полями для ввода логина и пароля для доступа к базе. Вот как бы эту штуку отключить? В ADOConnection
такая строка соединения

Код:
Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data Source=C:\project\db1.mdb;Persist Security Info=False
При ее построении ввел Admin в качестве логина и поставил галочку Empty password, но все равно зараза каждый раз спрашивает.
rcr вне форума Ответить с цитированием
Старый 19.05.2009, 14:01   #8
edgy
Форумчанин
 
Регистрация: 15.06.2008
Сообщений: 271
По умолчанию

В ADOConnection - свойство LoginPromt поставить False
edgy вне форума Ответить с цитированием
Старый 19.05.2009, 14:06   #9
rcr
 
Регистрация: 18.05.2009
Сообщений: 8
По умолчанию

Во, спасибо edgy!
rcr вне форума Ответить с цитированием
Старый 19.05.2009, 21:22   #10
rcr
 
Регистрация: 18.05.2009
Сообщений: 8
По умолчанию

А существует ли возможность присвоить значение полученное из БД какой-нибудь переменной?
rcr вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написание SQL-запросов tsergey Помощь студентам 9 12.02.2009 11:17
Запрос на сложение запросов ГОСЕАН БД в Delphi 3 19.05.2008 11:31
несколько запросов SQL Arteom БД в Delphi 3 09.09.2007 23:39
Конструктор запросов kaa БД в Delphi 12 20.12.2006 16:45