Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    311

    recuperare datatype di una colonna in una tabella di access

    ciao,
    c'è un modo in ASP per recuperare il datatype di una colonna di una tabella di un database access ?
    Riesco a recuperare l'elenco dei campi presenti in una tabella ma non so come recuperare altre informazioni.

    usando .type ..

    rs("COLUMN_NAME").type

    ..mi restituisce sempre "202" come valore, per tutte le colonne..

  2. #2
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    588
    Quote Originariamente inviata da aux998 Visualizza il messaggio
    ciao,
    c'è un modo in ASP per recuperare il datatype di una colonna di una tabella di un database access ?
    Riesco a recuperare l'elenco dei campi presenti in una tabella ma non so come recuperare altre informazioni.

    usando .type ..

    rs("COLUMN_NAME").type

    ..mi restituisce sempre "202" come valore, per tutte le colonne..
    guarda da questo spezzone di un mio vecchio codice se ti puo essere utile
    connB è la connessione al database e la tabella la usavo per caricare i campi delle tabelle
    impostala su dim fld(500,3)
    [code ]
    Set cat = CreateObject("ADOX.Catalog")
    Set cat.ActiveConnection = connB
    For each tbl in cat.Tables
    response.write "<br>Tabella: " &tbl.Name
    next
    tabella=request.form("Tabella")
    for i=1 to 500
    fld(i,1)=""
    fld(i,2)=""
    fld(i,3)=""
    next
    i=0
    nfld=0
    response.write "<br>Start loading database FIELDS INFORMATION...<br>"
    SQL="select * from " & Tabella
    RS.Open SQL, connB, 3, 3
    response.write "Tabella " & tabella
    for each afld in RS.Fields
    ' response.write "<br>afld.Name=" & afld.Name & " " & afld.type
    if left(afld.Name,4)<>"MSys" then
    i=i+1
    fld(i,1)=afld.Name
    tipo=""

    select case afld.type
    case 2
    tipo="integer"
    case 3
    tipo="long"
    case 6
    tipo="currency"
    case 17
    tipo="byte"
    case 7
    tipo="date"
    case 202
    tipo="text"
    case 203
    tipo="memo"
    case 11
    tipo="logical"
    case 4
    tipo="single"
    case 5
    tipo="double"
    case 205
    tipo="OLE"
    end select
    fld(i,2)=tipo
    msg=""
    nfld=nfld + 1
    for each aprop in afld.properties
    msg= "<br>campo:" & afld.Name & " -- property: " & aprop.Name
    ' response.write "&nbsp;"& msg
    next
    end if
    next
    RS.Close


    [/code]
    comunque devi solo turare fuori le istruzioni che ti servono....
    ciao
    Vic53

  3. #3
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Un esempio:
    codice:
       w_crea = ""   
    	Set rs = connessione.execute("SELECT * FROM tabella")
    	For Each objField In rs.Fields
    		nome = objField.Name
    		tipo = objfield.Type
    		lung = objfield.DefinedSize
    		select case tipo
    			case 2,3				' numerico intero
    				w_crea = w_crea & ", " & nome & " LONG"
    			case 4,5,14				' numerico frazionario
    				w_crea = w_crea & ", " & nome & " DOUBLE"
    			case 6					' numerico valuta
    				w_crea = w_crea & ", " & nome & " CURRENCY"
    			case 7					' data
    				w_crea = w_crea & ", " & nome & " DATE"
    			case 11					' booleano
    				w_crea = w_crea & ", " & nome & " BIT"
    			case else				' stringa
    				w_crea = w_crea & ", " & nome & " VARCHAR (" & lung & ")"
    		end select
    	Next
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    311
    grazie mille !

  5. #5
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    588
    Quote Originariamente inviata da aux998 Visualizza il messaggio
    grazie mille !
    Se pero' vuoi sapere come identificare i campi chiave quando sono una due o piu chiave di ricerca, devi usare ADOX catalog e non è molto diffusa questa info...
    Vic53

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.