Avatar billede spottie Nybegynder
06. maj 2006 - 12:27 Der er 10 kommentarer og
1 løsning

Hente kolonne navne fra mysql database?

Hejsa Eksperter

Lige et spørgsmål om nogen ved om der enten i C# eller MySQL findes en kommando til at lave opslag i samtlige tabbeller men kun få kolonne navne ud og ikke alle data i kolonnen?

Skal nemlig bruge kolonne navnene men ikke de data der er i kollonernener.

Håber nogen kan hjælpe

Vh spottie
Avatar billede arne_v Ekspert
06. maj 2006 - 16:13 #1
2 muligheder:

1)

først SHOW TABLES
og så for hver af dem DESCRIBE TABLE tabelnavn

2)

SELECT * FROM INFORMATION_SCHEMA.COLUMNS

(den sidste kræver MySQL 5)
Avatar billede spottie Nybegynder
06. maj 2006 - 18:13 #2
oki med nr. 2 får jeg 313 rows, hvilket er for meget resource at bruge på det..desværre...
Avatar billede arne_v Ekspert
06. maj 2006 - 19:47 #3
angiv kolonne fremfor *

sæt en WHERE på for at begrænse antal rækker
Avatar billede spottie Nybegynder
07. maj 2006 - 00:21 #4
hvordan WHERE?

Virker ikke helt skal bruge en funktion der kun hiver kolonne navne ud uden dataerne i dem, kan man ikke gøre det?
Avatar billede arne_v Ekspert
07. maj 2006 - 00:29 #5
SELECT * FROM INFORMATION_SCHEMA.COLUMNS

henter kun kolonne information ikke data

du kan bruge WHERE til at restricte hvilke tabeller du vil have det for

og du kan angive hvilke oplysninger om kolonnerne du vil have ud
Avatar billede arne_v Ekspert
07. maj 2006 - 00:32 #6
Eksempel:

SELECT TABLE_NAME,COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME LIKE 'forum_%'
Avatar billede spottie Nybegynder
07. maj 2006 - 17:58 #7
hmm kan ikke rigtig få det til at virke...
Avatar billede arne_v Ekspert
08. maj 2006 - 03:41 #8
simpelt eksempel fra min Test database:

using System;
using System.Data;
using MySql.Data.MySqlClient;

class MainClass
{
    public static void Main(string[] args)
    {
        MySqlConnection con = new MySqlConnection("Database=Test;Data Source=localhost;User Id=root;Password=");
        con.Open();
        MySqlCommand sel = new MySqlCommand("SELECT TABLE_NAME,COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='Test'", con);
        MySqlDataReader rdr = sel.ExecuteReader();
        while(rdr.Read()) {
            Console.WriteLine(rdr[0] + " " + rdr[1]);
        }
        rdr.Close();
        con.Close();
    }
}
Avatar billede spottie Nybegynder
08. maj 2006 - 09:41 #9
tak arne lige den ting jeg skulle bruge...post for point..
Avatar billede arne_v Ekspert
08. maj 2006 - 12:59 #10
ok
Avatar billede spottie Nybegynder
08. maj 2006 - 22:04 #11
værsgo og tak for hjælpen
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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