Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Соединение с базой. читать про базу и пароль с ini-файла 
V
    Опции темы
ACMilian
Дата 25.9.2006, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 5.9.2006
Где: Беларусь

Репутация: нет
Всего: нет



Помогите, пожалуйста.
Нужно: сбросить программу на машину вместе с ini-файлом. При запуске этой
 проги, всплывает Оracle Logon, и в нём две строки для ввода username и
 password. Как при помощи ini-файла, определять, что открывается база данных
под таким-то именем и нужно вводить такой пароль и своё имя?(может не корректно
поставил вопрос, т.к. никогда с этим не сталкивался и не знаю даже с чего
начать)
или ссылку где про это можно прочитать. 
PM MAIL ICQ   Вверх
Rodman
Дата 25.9.2006, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 22
Всего: 122



Может это в ини файле есть... если он не большой выложи...
PM MAIL WWW Skype GTalk YIM MSN   Вверх
ACMilian
Дата 25.9.2006, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 5.9.2006
Где: Беларусь

Репутация: нет
Всего: нет



Извиняюсь не дописал...ini-файл я должен сам написать, как я понимаю.
PM MAIL ICQ   Вверх
Rodman
Дата 25.9.2006, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 22
Всего: 122



ну если 
Цитата(ACMilian @  25.9.2006,  16:43 Найти цитируемый пост)
 всплывает Оracle Logon
 - это твоя програ, то ты можешь считать данные из ини-файла и загнать их в эдиты...
PM MAIL WWW Skype GTalk YIM MSN   Вверх
ACMilian
Дата 25.9.2006, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 5.9.2006
Где: Беларусь

Репутация: нет
Всего: нет



ну я даже не знаю с чего там начинать...может подскажете, где про это можно почиатать?
PM MAIL ICQ   Вверх
Fedia
Дата 26.9.2006, 03:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 465
Регистрация: 2.8.2006
Где: первым встречаю р ассвет

Репутация: 3
Всего: 13



Цитата(ACMilian @  25.9.2006,  20:04 Найти цитируемый пост)
ну я даже не знаю с чего там начинать...может подскажете, где про это можно почиатать?

Программа твоя ?
Какой компонент используется для подключения к БД ?
Есть ли у этого компонента  свойство LoginPrompt ? Если есть, то установи его в значение false, так как возможно сообщение появляется из-за него.
А ini файл стоит использовать для сохранения текущих параметров подключения к БД, и для загрузки этих параметров при последующем запуске программы.


--------------------
Накануне решающей битвы
Я иду, и надеждою зыбкой
Озаряется эта дорога,
Я мечтаю увидеть улыбку
На лице победившего Бога…
PM MAIL ICQ   Вверх
kobra
Дата 26.9.2006, 08:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 15.6.2005
Где: Грузия, Тбилиси

Репутация: 1
Всего: 9



я так делаю, может пригадится?
Код

procedure TFMain.ANewConnectionStringExecute(Sender: TObject);
begin
  Connection.Close;
  if EditConnectionString(Connection) then
  begin
    Ini.WriteString('ConnectionString', 'ConnectionString', Connection.ConnectionString);
    Application.MessageBox('sdf', 'sdrgsd', 0);
    Application.Terminate;
  end;
end;

procedure TFMain.TntFormCreate(Sender: TObject);
begin
  Ini:= TIniFile.Create(ExtractFilePath(Application.ExeName) + 'HR.ini');
  Connection.Close;
  Connection.ConnectionString := Ini.ReadString('ConnectionString', 'ConnectionString', '');
  if Connection.ConnectionString = '' then
  begin
    if EditConnectionString(Connection) then
      Ini.WriteString('ConnectionString', 'ConnectionString', Connection.ConnectionString);
  end;
  if POS('Persist Security Info=True', Connection.ConnectionString) > 0 then
    Connection.LoginPrompt := False
  else
  begin
    if POS('Integrated Security=SSPI', Connection.ConnectionString) > 0 then
      Connection.LoginPrompt := False
    else
      Connection.LoginPrompt := True;
  end;
  Connection.Open;
  FMain.WindowState := wsMaximized;
  ActivateKeyboardLayout(LoadKeyboardLayout('00020437', 0), 0);
end;



Добавлено @ 08:28 
да, я ползуюс ADO
PM MAIL   Вверх
ACMilian
Дата 26.9.2006, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 5.9.2006
Где: Беларусь

Репутация: нет
Всего: нет



Программу мне дали для доработки.
Ну там, в datamodule есть OracleSession и OracleLogon. На ско-ко я понимаю
связь идёт через них.
LoginPrompt у этих компонентов вроде нет.
 ini файл мне надо написать(его сейчас нет или я не там ищу).
Надо чтобы было так, когда эту программу сбросить на другую машину:
запускаешь exe. Появляется OracleLogon с полями username и password(ещё 
есть поле Database, где можно выбирать базы, но надо, чтобы этого поля 
не было и автоматически соединение с этой базой происходило). Вводишь 
свой пароль и имя, тогда соединение происходит, если не правильно, то 
соединения нет. И чтобы всё это с ini файла узнавало, какой машине и 
какому пользователю надо имя и пароль вводить.   

PM MAIL ICQ   Вверх
Rodman
Дата 26.9.2006, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 22
Всего: 122



Смотри... если это твое приложение, то

при первой загрузке пусть пользователь введет логин и пароль и ти
Код

procedure TForm2.BitBtn1Click(Sender: TObject);
var t: TStringList;
begin
  t:=TStringList.Create;
  t.Add(Edit1.text);
  t.Add(Edit2.TExt);
  t.SavetoFile('My.ini');
end;


а при следующей загрузке

Код

procedure TForm2.FormActivate(Sender: TObject);
var t: TStringList;
begin
  if(FileExist('My.ini'))then
  begin
    t:=TStringList.Create;
    t.LoadFromFile('My.ini');
    Edit1.text:=t.String[0];
    Edit2.text:=t.String[1];
    BitBtn1.Click;
  end;
end;

и оно само начнет конектится...

Это сообщение отредактировал(а) Rodman - 26.9.2006, 11:07
PM MAIL WWW Skype GTalk YIM MSN   Вверх
ACMilian
Дата 26.9.2006, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 5.9.2006
Где: Беларусь

Репутация: нет
Всего: нет



У меня возник, ещё один очень глупый вопрос:А куда этот код вставлять?
Если в OracleLogon, то я даже подобраться к ниму не могу...
поясните, пожалуйста.

PM MAIL ICQ   Вверх
Rodman
Дата 26.9.2006, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 22
Всего: 122



Ну вооще то в OracleLogon
PM MAIL WWW Skype GTalk YIM MSN   Вверх
ACMilian
Дата 26.9.2006, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 5.9.2006
Где: Беларусь

Репутация: нет
Всего: нет



При незапущеной проге. Когда я открываю datamodule, там эти компоненты OracleSession1,OracleLogon1, OracleDataSetы, OracleQuery.
Вот я нажимаю левой клавишей на OracleLogon, то выскакивает 
эта форма, когда правой нажимаю, то меню там Logon..., ChangePassword...,  и так далее...Но куда код вставлять я не понимаю smile 

PM MAIL ICQ   Вверх
Fedia
Дата 27.9.2006, 00:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 465
Регистрация: 2.8.2006
Где: первым встречаю р ассвет

Репутация: 3
Всего: 13



Цитата(Rodman @  26.9.2006,  10:55 Найти цитируемый пост)
Смотри... если это твое приложение, топри первой загрузке пусть пользователь введет логин и пароль и ти

Для работы с ini файлами есть специальный класс TIniFile. Пример работы с ним в ссылке, которую я привел выше.
Сохранять данные в ini-файл лучше либо при закрытии программы, либо после вводе новых параметров подключения в БД. А загружать данные из ini нужно перед подключением к БД.


--------------------
Накануне решающей битвы
Я иду, и надеждою зыбкой
Озаряется эта дорога,
Я мечтаю увидеть улыбку
На лице победившего Бога…
PM MAIL ICQ   Вверх
ACMilian
Дата 27.9.2006, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 5.9.2006
Где: Беларусь

Репутация: нет
Всего: нет



Всем спасибо. Работает.

PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0659 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.