Fórum Qual comando usar para verificar se uma tabela existe #34675
19/11/2007
0
Uso Delphi7 com Sql sewrver (MSDE).
Obrigado
Rounilo
Curtir tópico
+ 0Post mais votado
15/01/2008
SELECT * FROM dbo.SYSOBJECTS WHERE XTYPE = ´U´ AND NAME = :tabela
sua função vai ser
functin tabelaExiste(tab: string): boolean; begin qry.Close; qry.ParamByName(´tabela´) = tab; qry.Open; Result := not qry.IsEmpty; qry.Close; end;
Djjunior
Gostei + 1
Mais Posts
19/11/2007
Ara.es
SELECT *
FROM SYSOBJECTS
WHERE XTYPE = ´U´
AND NAME = ´NOME_TABELA´
substituia o ´NOME_TABELA´, pelo nome da sua tabela, essa tabela Sysobjects, guarda os objetos criados, nela vc tem as tabelas do usuario e do sistema, alem de as primary keys, foreign keys e etc... de um select nela e veja que as tabelas tem o xType = ´U´ e as foreign keys tem xType = ´F´, Primary Keys tem = ´PK´ assim vc pode listar qualquer objeto do seu banco.. Flw!!
Gostei + 0
20/11/2007
Rounilo
then
print ´Tabela existe´
else
print ´Tabela não exite.´;´ funciona.
Entrtanto, quando crio uma pequena aplicação Delphi recebo mensagenas de erro.
procedure TForm1.Button1Click(Sender: TObject);
begin
if exists (SELECT * FROM dbo.SYSOBJECTS WHERE XTYPE = ´U´ AND NAME = ´DAMS´)
then
print ´Tabela existe´
else
print ´Tabela não exite.´;
end;
end.
ERROS
[Error] Unit1.pas(28): Undeclared identifier: ´exists´
[Error] Unit1.pas(28): Undeclared identifier: ´FROM´
[Error] Unit1.pas(37): Statement expected but end of file found
[Fatal Error] Project1.dpr(5): Could not compile used unit ´Unit1.pas´
O que devo fazer ?
Gostei + 0
18/01/2008
Rounilo
Obrigado.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)