Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    errore creazione tabella

    io creo una tabella utilizzando uno script sql:

    __________________________________________________ ____________
    Set rsAccount = CreateObject("ADODB.RecordSet")
    crea_Account = "CREATE TABLE Account " &_
    "( IdAccount counter,"&_
    " Account char(50) NOT NULL,"&_
    " IP char(50) NOT NULL,"&_
    " email char(50) NOT NULL,"&_
    " PRIMARY KEY (Account)"&_
    "); "
    rsAccount.open crea_Account, nuova
    __________________________________________________ _____________

    e come valore per i campi gli passo i dati di un altra tabella:

    __________________________________________________ ______________
    Do Until rsAccountCerca.EOF=True
    Account = rsAccountCerca.Fields("Account")
    IP=rsAccountCerca.Fields("IP")
    email=rsAccountCerca.Fields("email")

    aggiungi_Account ="INSERT INTO Account(Account,IP,email) " &_
    "VALUES ('"&Account& "','" &_
    IP& "','" &_
    email& "');"
    nuova.execute aggiungi_Account

    rsAccountCerca.MoveNext
    loop
    __________________________________________________ _____________

    mi inserisce correttamente tutto solo che mette tanti spazi in ogni cella fino ad arrivare ai 50 caratteri della tabella.


    come posso evitarlo??

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Usa la trim

    codice:
    Account = trim(rsAccountCerca.Fields("Account") )
    IP = trim(rsAccountCerca.Fields("IP"))
    email = trim(rsAccountCerca.Fields("email"))
    Roby

  3. #3

    errore creazione tabella

    continua ugualmente a inserire spazi bianchi dopo il testo corretto.

    non so proprio più cosa controllare...

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    La trim mettila nella query....

    Roby

  5. #5
    in che modo
    tipo:
    select trim(account)

    ????

  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    aggiungi_Account ="INSERT INTO Account(Account,IP,email) " &_ 
    "VALUES ('"&trim(Account)& "','" &_ 
    trim(IP)& "','" &_ 
    trim(email)& "');"
    Roby

  7. #7
    non cambia nulla continua a funzionare ma con gli spazi!!!

  8. #8
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151

    Re: errore creazione tabella

    Originariamente inviato da ricardokaka
    io creo una tabella utilizzando uno script sql:

    __________________________________________________ ____________
    Set rsAccount = CreateObject("ADODB.RecordSet")
    crea_Account = "CREATE TABLE Account " &_
    "( IdAccount counter,"&_
    " Account char(50) NOT NULL,"&_
    " IP char(50) NOT NULL,"&_
    " email char(50) NOT NULL,"&_
    " PRIMARY KEY (Account)"&_
    "); "
    rsAccount.open crea_Account, nuova
    __________________________________________________ _____________

    e come valore per i campi gli passo i dati di un altra tabella:

    __________________________________________________ ______________
    Do Until rsAccountCerca.EOF=True
    Account = rsAccountCerca.Fields("Account")
    IP=rsAccountCerca.Fields("IP")
    email=rsAccountCerca.Fields("email")

    aggiungi_Account ="INSERT INTO Account(Account,IP,email) " &_
    "VALUES ('"&Account& "','" &_
    IP& "','" &_
    email& "');"
    nuova.execute aggiungi_Account

    rsAccountCerca.MoveNext
    loop
    __________________________________________________ _____________

    mi inserisce correttamente tutto solo che mette tanti spazi in ogni cella fino ad arrivare ai 50 caratteri della tabella.


    come posso evitarlo??
    Ciao, è normale che ti riempie completamente il campo.
    Quando crei la tabella, nello specificare il tipo e dimensione campo, usi il comando CHAR(50), il tipo CHAR implica che il campo sarà sempre riempito per la lunghezza dichiarata! Se invece vuoi che contenga solo la lunghezza del dato che immetti, devi usare il comando VARCHAR(50)
    In pratica:
    codice:
      crea_Account = "CREATE TABLE Account " &_
              "(	IdAccount counter,"&_
    	      "     Account VARCHAR(50)  NOT NULL,"&_
    	      "     IP VARCHAR(50)  NOT NULL,"&_
    	      "     email VARCHAR(50)  NOT NULL,"&_
    	      "	    PRIMARY KEY (Account)"&_
    	      ");  "
    Jupy

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 © 2026 vBulletin Solutions, Inc. All rights reserved.