Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25
  1. #1
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303

    [VB.NET]SQL e campo datatime

    perchè se eseguo questa sql non mi viene inserito il record?
    codice:
     create = ("CREATE TABLE ferie(Data datetime PRIMARY KEY not null,Giorni numeric not null,Altro nvarchar(30) not null,Residuo numeric not null)")
                ExecSql(create)
    invece se eseguo:
    il record viene inserito regolarmente?

    codice:
    create = ("CREATE TABLE ferie(Data nvarchar(20) PRIMARY KEY not null,Giorni numeric not null,Altro nvarchar(30) not null,Rimanenza numeric not null,Residuo numeric not null)")
                ExecSql(create)
    la data la inserisco da un txtbox, ed è così composta:
    txtData.Text = Format((Now), "dd/MM/yy")

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Prima spiega cosa c'entra una query con cui crei una tabella con l'inserimento di un record ...

    Fallisce la creazione della tabella, oppure la tabella viene creata e non puoi inserire un record?

    E il record con quale frase SQL lo inserisci?

  3. #3
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    codice:
    create = ("CREATE TABLE TFERIE (Anno datetime PRIMARY KEY not null,TF numeric not null,TPR numeric not null,TFS numeric not null)")
                ExecSql(create)
    con il metodo creo la tabella
    questa viene creata

    così inserisco.

    CboAnno= 01/12/07

    codice:
     ExecSql("INSERT INTO TFERIE VALUES ('" & Me.CboAnno.Text & "','" & Me.TxtF.Text & "','" & Me.TxtFS.Text & "', '" & Me.TxtPR.Text & "')")

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Nell'inserimento dei valori numerici, non devi usare i singoli apici ...

  5. #5
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    ciao oregon,
    allora come sempre hai centrato in pieno, però "già lo sapevi " che il valore della data
    me l' avrebbe inserito non correttamente.
    Nella TxtBox io ho una data in questo formato:
    dd/MM/yy
    es:12/12/07
    la data che mi viene inserita difatti mi viene restituita se non ricordo male in qualcosa del genere:
    01/10/1900
    perchè?

  6. #6
    Nell'inserimento dei valori numerici, non devi usare i singoli apici ...
    appunto, e siccome la data non è numerico ne stringa devi usare il cancelletto

    data=#01/01/2007#
    I database... la mia passione + o -

  7. #7
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    ho provato ma non inserisco nulla,
    riepilogo:
    al caricamento del form mi creo la tabella:

    codice:
       create = ("CREATE TABLE ferie(Data datetime PRIMARY KEY not null,Giorni numeric not null,Altro nvarchar(30) not null,Residuo numeric not null)")
                ExecSql(create)
    bene questa viene creata,
    tento l' inserimento dietro tuo suggerimento, senza risultato:

    codice:
    ExecSql("INSERT INTO ferie VALUES (#" & Me.txtData.Text & "#," & Me.txtnumero.Text & ",'" & Me.CboAltro.Text & "'," & Me.txtRimanenza.Text & ")")
    sicuramente sbaglio io...

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    I caratteri # si utilizzano soltanto con database Access. Con Sql Server si utilizzano i singoli apici.

    Quello che non ho capito e' come vedi che la data non e' stata inserita correttamente ...

  9. #9
    perdono
    solo che sia con access che con postgreSQL si usa il cancelletto...
    I database... la mia passione + o -

  10. #10
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    ciao oregon,
    allora

    Me.txtData.Text = 24/05/07

    con questa istruzione il campo data me lo ritorna con
    01/01/1900
    e comunque l0 aggiunge
    se invece aggiungo i cancelletti come sopra non inserisce nulla.

    codice:
    ExecSql1("INSERT INTO ferie VALUES (" & Me.txtData.Text & "," & Me.txtnumero.Text & ",'" & Me.CboAltro.Text & "'," & Me.txtRimanenza.Text & ")")

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