Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    144

    inserire tupla in db sqlserver

    Ciao ragazzi, come posso fare a inserire il contenuto di una Textbox in una tabella di un database sqlServer 2000.
    Una cosa semplice semplice, tipo aggiungere una stringa in una tabella fatta solo da una colonna, ah, utilizzando codice c#
    Io avevo pensato a una cosa di questo tipo:
    protected void insertName(string nome, EventArgs e){
    SqlConnection sqlconnectionDb1 = new
    SqlConnection("server=localhost; uid=pippo; pwd=pippo; database=db1");

    SqlCommand cm = new SqlCommand("INSERT INTO utenti(nomi_vari) VALUES (nome)", sqlconnectionDb1);
    }
    ...
    aggiungi nome:<INPUT TYPE="text" NAME="textNome">



    dove 'db1' è il database, 'utenti' è la tabella e 'nomi_vari' è la colonna.
    Ora come faccio ad inserire textNome, che è il contenuto della Textbox, nella colonna nomi_vari? La creazione dell'oggetto cm ha senso? oppure non serve a nulla? Io pensavo che adesso basterebbe far fare a un pulsante l'esecuzione di quel comando, no?
    Spero in qualche risposta
    Grazie
    conte06

  2. #2

    Re: inserire tupla in db sqlserver

    Originariamente inviato da conte06
    La creazione dell'oggetto cm ha senso? oppure non serve a nulla?
    l'utilizzo di un oggetto command e' necessaria per effettuare l'inserimento di una riga nella tabella. In particolare, dopo aver istanziato un oggetto command e aver aperto la connessione devi richiamare la funzione executenonquery
    codice:
    try
    			{
    				sqlconnectionDb1.Open();
    				cm.ExecuteNonQuery();
                }
    			finally 
    			{
    				sqlconnectionDb1.Close();
    			}
    Saluti a tutti
    Riccardo

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    144
    funziona! Funziona l'inserimento aggiungendo il codice che mi hai suggerito, ora però vorrei inserire il contenuto di una textbox.
    Cioè, per adesso ho fatto una cosa così, che chiaramente inserisce solo la parola "nome" nel database:

    protected void Page_Load(Object sender, EventArgs e){
    SqlConnection sqlconnDbprova01 = new
    SqlConnection("server=localhost;uid=sa;pwd=sa;data base=dbprova01");

    SqlCommand cm = new SqlCommand("INSERT INTO tblutenti(nomi_vari) VALUE(nome)", sqlconnDbprova01);
    sqlconnDbprova01.Open();
    cm.ExecuteNonQuery();
    sqlconnDbprova01.Close();
    }

    ora, per inserire il contenuto di una textbox, avevo pensato di fare diventare la classe:

    protected void Page_Load(Object sender, String nome, EventArgs e)

    in questo modo dovrebbe inserire la stringa nome(che sarà il contenuto della textbox), giusto?
    Se questo andasse bene, il mio problema sarebbe proprio fare il bottone che fa partire Page_Load.
    Questa sarebbe la textbox:
    <INPUT TYPE="text" NAME="textNome">
    e speravo andasse bene una cosa di questo tipo per il bottone, ma non funziona:
    <INPUT TYPE="submit" VALUE="inserisci" OnClick="Page_load(String textNome)">
    perchè?

    spero in una risposta...



  4. #4
    Originariamente inviato da conte06
    per inserire il contenuto di una textbox, avevo pensato di fare diventare la classe: protected void Page_Load(Object sender, String nome, EventArgs e)
    il codice postato dovrebbe inserire il contenuto della variabile nome nel db. Per inserire la parola nome dovresti metterla tra apici.
    Detto questo, la strada che stai cercando di seguire non mi sembra corretta. NON dovresti mettere nel page_load una procedura che inserisce dati nel db. Semmai, sarebbe meglio metterla in una sub che accetta come parametro il valore da inserire. Sub che verra' richiamata da un evento come ad es. il click di un pulsante.
    Saluti a tutti
    Riccardo

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    144
    grazie per la celere risposta!
    Ci provo e poi ti faccio sapere
    conte06

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    144
    ho provato a fare una funzione all'interno di Page_load, ma mi da il seguente errore:
    CS1513: } expected

    è come se non capisse che una è dentro l'altra, boh, comunque questo è il nuovo codice:

    public void Page_Load(Object sender, EventArgs e){
    SqlConnection sqlconnDbprova01 = new
    SqlConnection("server=localhost;uid=sa;pwd=sa;data base=dbprova01")


    public void inserisciNome(string c){
    SqlCommand cm = new SqlCommand("INSERT INTO tblutenti(nomi_vari) VALUES(c)", sqlconnDbprova01);

    sqlconnDbprova01.Open();
    cm.ExecuteNonQuery();
    sqlconnDbprova01.Close();

    }
    }

    e poi la textbox con tasto è:
    <INPUT TYPE="text" NAME="textNome">
    <INPUT TYPE="submit" VALUE="inserisci" OnClick=inserisciNome(textNome)>

    dovrebbe andare, no?

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    errore abbastanza banale:

    codice:
    public void Page_Load(Object sender, EventArgs e){
    SqlConnection sqlconnDbprova01 = new
    SqlConnection(" server=localhost;uid=sa;pwd=sa;database=
    dbprova01")
    } 
    
    public void inserisciNome(string c){
    SqlCommand cm = new SqlCommand("INSERT INTO tblutenti(nomi_vari) VALUES('" & c & "')", sqlconnDbprova01);
    
    sqlconnDbprova01.Open();
    cm.ExecuteNonQuery();
    sqlconnDbprova01.Close();
    
    }
    ti ho modificato pure l'insert anke se sarebbe meglio (moooolto meglio) utilizare i parameters

  8. #8
    Non puoi inserire una funzione all'interno di un'altra. O inserisci il codice per l'accesso al database all'interno dell'evento Page_Load o dell'evento del button.

    Ciao
    AZ [Microsoft - .NET MVP]
    Mia Home page: http://ciclismo.sitiasp.it
    Asp.Net community: http://www.aspitalia.com
    Il mio blog: http://blogs.aspitalia.com/az

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    144
    in che senso i parameters?

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    144
    ah, comunque ho provato(in realtà avevo già provato prima, ma me ne ero dimenticato) a mettere le due funzioni separate in questo modo:

    public void Page_Load(Object sender, EventArgs e){
    SqlConnection sqlconnDbprova01 = new SqlConnection("server=localhost;uid=sa;pwd=sa;data base=dbprova01");
    }

    public void inserisciNome(String c){
    SqlCommand cm = new SqlCommand("INSERT INTO tblutenti(nomi_vari) VALUES( )", sqlconnDbprova01);

    sqlconnDbprova01.Open();
    cm.ExecuteNonQuery();
    sqlconnDbprova01.Close();

    }

    ma mi dà il seguente errore:
    The name 'sqlconnDbprova01' does not exist in the class or namespace 'ASP.prova05_aspx'

    avete idea del perchè?
    nel frattempo continuo coi ringraziamenti

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.