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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2007, 06:48   #1
DelMast
 
Регистрация: 13.03.2007
Сообщений: 4
По умолчанию Интересная задачка по подключению к БД

Доброе время суток, господа!
У меня вот такая ситуация. Пишу программу на делфи7 база данных на SQL 2005, написал код который при первом запуске программы создает файл соединения *.udl, далее он должен открыться для редактирование, но не получается выдает ошибку "Не удается сохранить введёные своёства, поскольку файл связи с данными недоступен. Убедитесь, что жесткий диск или сетевая папка все ещё доступны". А далее при втором запуске программы все работает отлично, но надо чтобы работала с первого раза.
Вот код

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB, Grids, DBGrids, ShellAPI;
type
TForm1 = class(TForm)
Button1: TButton;
DataSource1: TDataSource;
ADOQuery1: TADOQuery;
DBGrid1: TDBGrid;
ADOConnection1: TADOConnection;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);


begin
ADOQuery1.Active:=true;
end;
procedure TForm1.FormCreate(Sender: TObject);


begin
ADOConnection1.ConnectionString:='F ILE NAME=Connect.udl';
try
ADOConnection1.Connected:=True;
except
on e:Exception do
begin
CreateFile('Connect.udl',GENERIC_AL L,FILE_SHARE_READ,nil,CREATE_NEW,FI LE_ATTRIBUTE_NORMAL,FILE_FLAG_RANDO M_ACCESS);//создание файла udl
ShellExecute(0,'open','Connect.udl' ,NIL,NIL,SW_SHOWNORMAL);//открытие файла udl
end;


end;
end;
end.

заранее благодарю.
DelMast вне форума Ответить с цитированием
Старый 13.03.2007, 20:39   #2
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

просто надо сразу после
CreateFile('Connect.udl',GENERIC_AL L,FILE_SHARE_RE AD,nil,CREATE_NEW,FILE_ATTRIBUTE_NO RMAL,FILE_FLAG_ RANDOM_ACCESS);//создание файла udl

делать
Код:
ADOConnection1.Connected:=True;
!

снова приконнектится кто будет ?
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Старый 14.03.2007, 03:40   #3
DelMast
 
Регистрация: 13.03.2007
Сообщений: 4
По умолчанию

ADOConnection1.Connected:=True;
не пройдёт т. к. файл *.udl пустой и не содержит параметров подключения.
DelMast вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Интересная задачка stscolt Помощь студентам 1 29.04.2008 08:06
интересная головоломка Vereshagina Помощь студентам 9 11.03.2008 10:16
Интересная задача Ser Паскаль, Turbo Pascal, PascalABC.NET 3 27.02.2008 00:19
Интересная задачка. Inbox Общие вопросы Delphi 3 02.06.2007 10:00
Помогите плиз есть интересная задачка Dima-05 Общие вопросы Delphi 1 27.02.2007 15:29