Forum
Grundkurs
»Introduktion
»Snabbguide
»Komponenter
»Händelser
»Strängar
»Räkna med Delphi »Egna
typer
»Selektion
»Iteration
»Menyer
»Funktioner
»Arraystrukturer
Tips & Tricks
»Nya tips
»Blandat
»Databaser
»Filer
»Forms
»Grafik
»Internet
»Komponenter
»Matematik
»Multimedia
»Objekt/ActiveX
»Skrivare
»Strängar
»System
»Mest lästa tips
Artiklar
»Delphi och ADO
»Bygga en DLL
»Skapa en enkel rapport
»Hantera registret
»Enheter, units
»Klassen TCanvas
»Använd LookUp Controls
Nya
tips
Lägg
till tips
Delphilänkar
Gästbok
|
|
|
|
Skapa tabeller i MS SQL Server 2000
|
Kategori: Databaser
Inlagt: 2004-08-28
Läst: 1502
Inlagt av: Staffan Berg
|
Beskrivning |
Med detta exempel kan du med Delphikod skapa tabeller i MS SQL Server 2000. Infoga ADO-komponenter på formulär och koppla dessa till en datakälla. Se min artikel om ADO och Delphi för mer information.
|
Kod |
procedure TLocal.CreateTables(WindowsSecurity: Boolean; Username, Password: String); var ConnectionString: String; begin if WindowsSecurity then ConnectionString := 'Provider=SQLOLEDB.1;' + 'Integrated Security=SSPI;' + 'Persist Security Info=False;' + 'Initial Catalog=test' else ConnectionString := 'Provider=SQLOLEDB.1;' + 'Password=' + Password + ';' + 'Persist Security Info=True;' + 'User ID=' + Username + ';' + 'Initial Catalog=test'; try try ADOConnection.ConnectionString := ConnectionString; ADOConnection.LoginPrompt := False; ADOConnection.Connected := True; ADOQuery.Connection := ADOConnection; ADOQuery.SQL.Clear; with ADOQuery.SQL do begin Add('create table Klijent('); Add('JMBG char(13) not null,'); Add('Ime char(30) not null,'); Add('Adresa char(30) not null,'); Add('Telefon char(15) not null,'); Add('Primanja numeric(6,2) not null,'); Add('primary key (JMBG))'); end; ADOQuery.ExecSQL; ADOQuery.SQL.Clear; with ADOQuery.SQL do begin Add('create table Kredit('); Add('Sifra numeric not null,'); Add('Tip char(15) unique not null,'); Add('Kamata numeric not null,'); Add('primary key (Sifra))'); end; ADOQuery.ExecSQL; ADOQuery.SQL.Clear; with ADOQuery.SQL do begin Add('create table Operator('); Add('JMBG char(13) unique not null,'); Add('Ime char(30) not null,'); Add('Sifra char(30) not null,'); Add('Adresa char(30) not null,'); Add('Telefon char(15) not null,'); Add('Prioritet smallint not null check (Prioritet>0),'); Add('primary key (JMBG))'); end; ADOQuery.ExecSQL; ADOQuery.SQL.Clear; with ADOQuery.SQL do begin Add('create table Kreditiranja ('); Add('Sifra numeric not null,'); Add('Sifra_kredita numeric not null,'); Add('Datum datetime,'); Add('Iznos_kredita numeric(10,2) check (Iznos_kredita>0),'); Add('Broj_rata numeric,'); Add('JMBG_klijenta char(13),'); Add('JMBG_operatora char(13),'); Add('primary key(Sifra),'); Add('foreign key(Sifra_kredita) references Kredit(Sifra) on delete cascade on update cascade,'); Add('foreign key(JMBG_klijenta) references Klijent(JMBG) on delete cascade on update cascade,'); Add('foreign key(JMBG_operatora) references Operator(JMBG) on delete cascade on update cascade)'); end; ADOQuery.ExecSQL; ADOQuery.SQL.Clear; with ADOQuery.SQL do begin Add('create table Rata ('); Add('Broj_rate numeric not null,'); Add('Broj_sifre numeric not null,'); Add('Datum datetime,'); Add('Iznos_rate numeric(10,2) check (Iznos_rate>0),'); Add('primary key (Broj_rate),'); Add('foreign key (Broj_sifre) references Kreditiranja(Sifra) on delete cascade on update cascade)'); end; ADOQuery.ExecSQL; MessageDlg('Tabellerna skapades.', mtInformation, [mbOK], 0); except on E: Exception do MessageDlg(E.Message, mtWarning, [mbOK], 0); end; finally ADOConnection.Connected := False; end; end;
|
|
|