Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

andi

bde

Recommended Posts

Boa noite galera,gostaria de saber se tem algum comando para registrar automaticamente meu banco de dados no BDE.estava fuçando no REGEDIT e la tem um caminho que contém essas informações, mas preciso saber se funciona 100% isso. (HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\....) valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

No seu caso agredito que você deseja criar um alias para o seu banco de dados, você pode fazer isto via programação:

Inclua na seção uses: DB

 

{ se o alias não existir... } if not Session.IsAlias('MeuAlias') then 	begin 	{ Adiciona o alias } 	Session.AddStandardAlias('MeuAlias', 'C:\DirProg', 'PARADOX'); 	{ Salva o arquivo de configuração do BDE } 	Session.SaveConfigFile; 	end;
Para criar um alias do dBase troque a string 'PARADOX' por 'DBASE'. No caso acima usei como path o caminho "C:\DirProg", mas se você quiser poderá trocar este caminho por ExtractFilePath(ParamStr(0)) para que o alias seja direcionado para o local onde esta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpe minha ignorancia, mas ele da erro nesse 'session'... if not Session.IsAlias

q componente eh esse?

valeu pela ajuda!

 

/]@t' date='Jan 12 2006, 08:19 AM' post='496412']

No seu caso agredito que você deseja criar um alias para o seu banco de dados, você pode fazer isto via programação:

Inclua na seção uses: DB

 

{ se o alias não existir... } if not Session.IsAlias('MeuAlias') then 	begin 	{ Adiciona o alias } 	Session.AddStandardAlias('MeuAlias', 'C:\DirProg', 'PARADOX'); 	{ Salva o arquivo de configuração do BDE } 	Session.SaveConfigFile; 	end;
Para criar um alias do dBase troque a string 'PARADOX' por 'DBASE'. No caso acima usei como path o caminho "C:\DirProg", mas se você quiser poderá trocar este caminho por ExtractFilePath(ParamStr(0)) para que o alias seja direcionado para o local onde esta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu!! :) Quando é banco do ACCESS, eu ponho o que no lugar de paradox? coloquei ACCESS mas da erro,desculpa pelo encomodo ai!brigadão

/]@t' date='Jan 12 2006, 12:01 PM' post='496595']Adicone no uses tb DBTables

Compartilhar este post


Link para o post
Compartilhar em outros sites

Achei uma outra forma que se pode criar, esta usando ODBC.

 

 

unit fPrincipal;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls, Buttons;type  TfrmPrincipal = class(TForm)	BitBtn1: TBitBtn;	procedure BitBtn1Click(Sender: TObject);  private	{ Private declarations }  public	{ Public declarations }  end;procedure CreateODBCDriver(Const cDSNName,cExclusive,cDescription,cDataBase,cDefaultPath,cConfigSql,cDriver: string);var  frmPrincipal: TfrmPrincipal;implementation{$R *.dfm}procedure TfrmPrincipal.BitBtn1Click(Sender: TObject);beginCreateOdbcDriver('TesteDSN', '1', 'Teste DSN' , 'c:\Teste.mdb', 'ODBCCP32', 'SQLConfigDataSource', 'Microsoft Access Driver (*.mdb)');end;procedure CreateODBCDriver(Const cDSNName,cExclusive,cDescription,cDataBase,cDefaultPath,cConfigSql,cDriver: string);type	TSQLConfigDataSource = function( hwndParent: HWND; fRequest: WORD; lpszDriver: LPCSTR; lpszAttributes: LPCSTR ): BOOL; stdcall;const	ODBC_ADD_DSN = 1;	ODBC_CONFIG_DSN = 2;	ODBC_REMOVE_DSN = 3;	ODBC_ADD_SYS_DSN = 4;	ODBC_CONFIG_SYS_DSN = 5;	ODBC_REMOVE_SYS_DSN = 6;var	pFn: TSQLConfigDataSource;	hLib: LongWord;	strAttr, strDriver: string;	fResult: BOOL;	srInfo: TSearchRec;beginfResult:=False;hLib:=LoadLibrary(pChar(cDefaultPath));if( hLib <> NULL ) then	begin	@pFn:=GetProcAddress(hLib,pChar(cConfigSql));	if( @pFn <> nil ) then		begin		strDriver:=cDriver;		strAttr:=Format('DSN=%s' + #0 + 'DBQ=%s' + #0 + 'Exclusive=%s' + #0 + 'Description=%s' + #0 + #0,[cDSNName,cDatabase,cExclusive,cDescription]);		fResult:=pFn(0,ODBC_ADD_SYS_DSN,@strDriver[1],@strAttr[1]);		if( fResult = false ) then			ShowMessage( 'Falha ao tentar criar o DSN (Data source).' );		if( FindFirst( cDatabase, 0, srInfo ) <> 0 ) then			begin			strDriver:=cDriver;			strAttr:=Format( 'DSN=%s' + #0 + 'DBQ=%s' + #0 + 'Exclusive=%s' + #0 + 'Description= %s' + #0 + #0 + 'CREATE_DB="%s"'#0 + #0,[cDSNName,cDatabase,cExclusive,cDescription,cDatabase]);			fResult:=pFn(0,ODBC_ADD_SYS_DSN,@strDriver[1],@strAttr[1]);			if( fResult = false ) then				ShowMessage( 'Falha ao tentar criar o banco de dados' );			end;		FindClose( srInfo );		end;	FreeLibrary( hLib );	if fResult then		ShowMessage( 'Banco de dados criado.' );	endelse	ShowMessage( 'o sistema não pode carregar a biblioteca ODBCCP32.DLL' );end;end.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.