Avatar billede bgo Nybegynder
25. september 2004 - 18:14 Der er 14 kommentarer og
1 løsning

db-spørgsmål: create

Beklager hvis følgende spørgsmål er nævnt i diverse dokumentationer o.lign., men jeg har desvære ikke for megen tid til at læse og forstå sådanne lige pt.

Jeg har brug for at kunne oprette tabeller i Access databaser og MySQL databaser (jeg er selv vant til at arbejde med Access - dog er jeg vant til at oprette tabellerne via Access selv, og derefter uploade databasen), via asp/sql.

De rækker jeg gerne vil kunne oprette i tabellerne svarer til følgende Access typer (på dansk):

Autonummerering
Tekst
Notat
Dato og klokkeslæt
Tal (Langt heltal)
Ja/Nej

Jeg ved at der er noget sql der hedder create tabel, men je har aldrig brugt det før, og kender ikke syntaksen, og slet ikke hvad de forskellige datatyper hedder. Jeg kunne også forestille mig at der var små forskelle mellem access og mysql på det område.

Helt genialt ville det være, hvis jeg også på servere der understøtter access, kunne oprette databaser, altså således at det ikke engang var nødvendigt at uploade en access database for at arbejde med den. Det ved jeg så ikke om kan lade sig gøre, men hvis det kan, vil jeg meget gerne vide hvordan det gøres via asp.

Derudover vil jeg gerne vide om jeg kan fange fejl hvis Host, database, Brugernavn og/eller password er forkert når man forsøger at få forbindelse til en database, eksempelvis en mysql-database liggende på en fremmed hosts server (hvis jeg eksempelvis har stavet forkert, når jeg vil have fat i min database på mit domæne på b-one), så jeg selv kan formulere en fejlmeddelelse - og hvordan - og om der er forskelle mellem forskellige database hvad det angår.

Ja, jeg ved det, det er meget på en gang :D
Avatar billede arne_v Ekspert
25. september 2004 - 18:18 #1
Den generelle syntax er:

CREATE TABLE tabelnavn (
  feltnavn felttype,
  feltnavn felttype,
  feltnavn felttype,
  feltnavn felttype
);

F.eks.

CREATE TABLE t (
  f1 INTEGER,
  f2 VARCHAR(50),
  f3 VARCHAR(50)
);

så alt hvad du mangler er navnene på de Access specifike data typer
(INTEGER og VARCHAR er standard og er i alle database).
Avatar billede arne_v Ekspert
25. september 2004 - 18:27 #2
Prøv:

CREATE TABLE tt (
  f1 COUNTER,
  f2 TEXT(50),
  f3 MEMO,
  f4 DATETIME,
  f5 LONG,
  f6 LOGICAL
);
Avatar billede bgo Nybegynder
25. september 2004 - 20:27 #4
Tak arne_v :-) Det var tabeller i access. Udfra myphpadmin på b-one kan jeg regne ud at eksempelvis counter ikke er det samme dér (har derigennem tidligere måttet bruge bigint som datatype og auto_increment som extra) - og der er sikkert andre forskelle, på netop de typer jeg har brug for.

Nåja, så er der de andre spørgsmål også ;-)
Avatar billede arne_v Ekspert
25. september 2004 - 20:30 #5
I MySQL vil det være:

CREATE TABLE tt (
  f1 INTEGER AUTO_INCREMENT,
  f2 VARCHAR(50),
  f3 TEXT,
  f4 DATETIME,
  f5 INTEGER,
  f6 TINYINT
);
Avatar billede bgo Nybegynder
25. september 2004 - 21:07 #7
Takker :-)

Og så var der den sjove, den jeg ikke selv helt tror på, men som jeg håber på :) Kan jeg bede databasedriveren om, serverside, at oprette en ny tom access database for mig via asp eller sql? Det ville nemlig være genialt hvis jeg kunne undgå at bede access-brugere om at uploade en database, men istedet lod min asp-application om at klare al oprettelse ;)
Avatar billede arne_v Ekspert
25. september 2004 - 21:10 #8
Teknisk burde det ikke være noget problem:
  http://dev.mysql.com/doc/mysql/en/CREATE_DATABASE.html
Avatar billede arne_v Ekspert
25. september 2004 - 21:11 #9
Men på web hoteller vil du typisk ikke have lov til at oprette nye database !
Avatar billede bgo Nybegynder
25. september 2004 - 21:20 #10
ikke med mysql - der har de oftest allerede oprettet en. Men det er vist ikke tilfældet med access. Nu har jeg så heller ikke prøvet så mange forskellige. Derfor er spørgsmålet så også mest relevant for access - jeg vil i min application antage at hvis det er mysql, så er databasen oprettet af udbyderen.
Avatar billede arne_v Ekspert
25. september 2004 - 21:24 #11
Nå det var Access.
Avatar billede bgo Nybegynder
25. september 2004 - 21:25 #12
Jow :)
Avatar billede arne_v Ekspert
25. september 2004 - 21:29 #13
Der er ihvertfald en CreateDatabase metode i VBA.

Jeg har aldrig set det det gjordt i SQL.

Men jeg vil tro at man fra ASP (VBScript) kan bruge samme funktion osm i VBA.
Avatar billede bgo Nybegynder
25. september 2004 - 22:23 #14
det prøver jeg. Tak for hjælpen :) Smid du bare et svar, så er der point :)
Avatar billede arne_v Ekspert
25. september 2004 - 22:37 #15
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester