Cevapla
 
Konu Seçenekleri
Eski 30-12-07, 19:03 Çevrimdışı   #1
Dekan
Huzur Pınarı
 
Yσкє∂!¢! - ait Avatar
Genel Mesajlar: 5.980
Teşekkür etti: 1.614
Teşekkür edildi: 2.186
RepForum Gücü: 72
Forum Puanı:25867
Yσкє∂!¢! tanımayanı zamansız forum da kimse adam yerine koymazYσкє∂!¢! tanımayanı zamansız forum da kimse adam yerine koymazYσкє∂!¢! tanımayanı zamansız forum da kimse adam yerine koymazYσкє∂!¢! tanımayanı zamansız forum da kimse adam yerine koymazYσкє∂!¢! tanımayanı zamansız forum da kimse adam yerine koymazYσкє∂!¢! tanımayanı zamansız forum da kimse adam yerine koymazYσкє∂!¢! tanımayanı zamansız forum da kimse adam yerine koymazYσкє∂!¢! tanımayanı zamansız forum da kimse adam yerine koymazYσкє∂!¢! tanımayanı zamansız forum da kimse adam yerine koymazYσкє∂!¢! tanımayanı zamansız forum da kimse adam yerine koymazYσкє∂!¢! tanımayanı zamansız forum da kimse adam yerine koymaz
Ruhsal Durumum:
yeni Tablo kopyalama-Tablo Silme(Delphi)

-------tablo kopyalama ---------
------------------------------------
Bir tablo oldugu gibi , baska bir veri tabanina veya ayni veri tabanina kopyalanabilir. isimli bir tablo mevcutsa, eskisi silinir.. Bu fonksiyon oldukça güçlü bir veri tasima aracidir. Tablolar, BDE tarafindan desteklenen, herhangi bir veri tabani ortamindan, baska bir veri tabani ort***** kopyalanabilir. Asagidaki örnekte, “DBDemos” veri tabanindaki “Customer.db” isimli tablo, “Sybase” veri tabanina kopyalanmaktadir.,
Tablo yapisi, tablosundan alinmak suretiyle, karsi tarafta yeni bir tablo yaratilmaktadir. Taraflarin, lokalde veya uzakta olmalari farketmez. Eger karsi tarafta ayni adi tasiyan bir tablo varsa, silinir ve yerine yenisi yaratilir.
-----------------------------------------------------
Function DBCreateTableBorrowStr(
SourceDatabaseName : String;
SourceTableName : String;
DestDatabaseName : String;
DestTableName : String): Boolean;
Var
S : TTable;
D : TTable;
i,j : Integer;
IMax : Integer;
IndexName : String;
IndexFields : String;
IndexFields2 : String;
Q : TQuery;
IDXO : TIndexOptions;
Begin
S := TTable.Create(nil);
D := TTable.Create(nil);
Try
Try
S.Active := False;
S.DatabaseName := SourceDatabaseName;
S.TableName := SourceTableName;
S.TableType := ttDefault;
S.Active := True;
D.DatabaseName := DestDatabaseName;
D.TableName := DestTableName;
D.TableType := ttDefault;
D.FieldDefs.Assign(S.FieldDefs);
D.CreateTable;
{Similar method could be used to create the indices}
{D.IndexDefs.Assign(S.IndexDefs);}
S.IndexDefs.Update;
D.IndexDefs.Update;
D.IndexDefs.Clear;
D.IndexDefs.Update;
For i := 0 To S.IndexDefs.Count - 1 Do
Begin
If Pos('.DB',UpperCase(DestTableName)) > 0 Then
Begin
{Paradox or DBase Tables}
If S.IndexDefs.Items.Name = " Then
Begin
If Pos('.DB',UpperCase(DestTableName)) = 0 Then
Begin
IndexName := DestTableName+IntToStr(i);
End
Else
Begin
IndexName := ";
End;
End
Else
Begin
IndexName := DestTableName+IntToStr(i);
End;
IndexFields := S.IndexDefs.Items.Fields;
D.AddIndex(IndexName,IndexFields,
S.IndexDefs.Items.Options);
D.IndexDefs.Update;
End
Else
Begin
{Non Local Tables}
Q := TQuery.Create(nil);
Try
S.IndexDefs.Update;
D.IndexDefs.Update;
D.IndexDefs.Clear;
D.IndexDefs.Update;
IMax := S.IndexDefs.Count - 1;
For j := 0 To IMax Do
Begin
Q. Active := False;
Q.DatabaseName := DestDatabaseName;
IndexName := DestTableName+IntToStr(i);
IndexFields := S.IndexDefs.Items.Fields;
IndexFields2 :=
ReplaceCharInString(IndexFields,';',',');
Q.SQL.Clear;
Q.SQL.Add('Create');
If ixUnique in S. IndexDefs.Items[j].Options
Then Begin
Q.SQL.Add('Unique');
End;
If ixDescending in S.IndexDefs.Items[j].Options
Then Begin
Q.SQL.Add('Desc');
End
Else
Begin
Q.SQL.Add('Asc');
End;
Q.SQL.Add('Index');
Q.SQL.Add(IndexName);
Q.SQL.Add('On');
Q.SQL.Add(DestTableName);
Q.SQL.Add('(');
Q.SQL.Add(IndexFields2);
Q.SQL.Add(')');
Try
Q.ExecSql;
D.IndexDefs.Update;
D.AddIndex(IndexName,IndexFields,
S.IndexDefs.Items[j].Options);
D.IndexDefs.Update;
Except
On E : EDBEngineError Do
Begin
If E.Message = 'Invalid array of index
descriptors.'
Then Begin
Try
D.IndexDefs.Update;
D.DeleteIndex(IndexName);
D.IndexDefs.Update;
Except
End;
End
Else
Begin
Try
D.IndexDefs.Update;
IDXO := D.IndexDefs.Items[j].Options;
Except
End;
End;
End;
End;
End;
//i:= IMax;
Finally
Q.Free;
End;
End;
End;
S.Active := False;
Result := True;
Finally
S.Free;
D.Free;
End;
Except
On E : Exception Do
Begin
ShowMessage('DBCreateTableBorrowStr Error: '+E.Message);
Result := False;
End;
End;
End;


------------------------------------
-------tablo Silme ---------
------------------------------------
Herhangi bir veri tabanindan tablo silmek gerektiginde, asagidaki fonksiyon kullanilabilir.

Function DBDropTable(const DatabaseName, TableName : string):Boolean;
var Query : TQuery;
begin
Result := False;
If Not IsTable(DatabaseName, TableName) Then
Begin
Exit;
End;
Query := TQuery.Create(nil);
try
Query.DatabaseName := DatabaseName;
Query.SQL.Clear;
Query.SQL.Add('Drop Table ');
If (Pos('.DB', UpperCase(TableName)) > 0) Or
(Pos('.DBF',UpperCase(TableName)) > 0) Then
Begin
Query.Sql.Add('"'+TableName+'"');
End
Else
Begin
End;
Result := True;
Try
Query.ExecSQL;
Except
Result := False;
End;
finally
Query.Free;
end;
end;
----------------------------------------


Şahit olsun Kainat, Alemler şahit olsun .
Titreyen sesin ile Yüregin şahit olsun.
Çok Yakın Güzel Günler,Bir Kez Daha Ufka Bak,
Hep Semaya Açtıgın,Ellerin Şahit Olsun.

Ö(lürsem)S(ebebi)S(ensin)


Deli Var YakalaYın
  Alıntı ile Cevapla
Cevapla

Konu Seçenekleri

Yetkileriniz
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı

Powered by vBulletin Copyright © 2000-2008 Jelsoft Enterprises Limited.
SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.
http://www.zamansiz.com

Bütün Zaman Ayarları WEZ +2 olarak düzenlenmiştir. Şu Anki Saat: 03:17 .