Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 35
  1. #1

    Info connessione ed inserimento db access

    Salve, ho il bisogno di inserire dei dati scritti in textbox in una tabella del database. Ho impopstato accessdatabase, ma nn capisco, non riesco a collegare il tutto ad un pulsante che quando pigio mi inserisca ciò che è scritto nei textbox in database. qualcuno può aiutrarmi ad impostare anche la connessione al database? sono alle prime armi, grazie a tutti.
    www.ertinformatica.com Vendita computer e hardware

    www.risorsefantacalcio.it News, voti del Corriere e della Gazzetta, e tanto altro.

    www.parrocchie.eu Parrocchie e siti cattolici italiani

  2. #2
    Dunque, prendiamo come esempio un ipotetico database access con percorso c:\dbtest.mdb con una tabella di nome Prova, contenente 3 campi di tipo testo : Nome, Cognome, Indirizzo.

    Dovrai avere, nella pagina :

    codice:
            
    
    Nome</p>
            <asp:TextBox runat="server" ID="TextBoxNome"></asp:TextBox>
            
    
    Cognome</p>
            <asp:TextBox runat="server" ID="TextBoxCognome"></asp:TextBox>
            
    
    Indirizzo</p>
            <asp:TextBox runat="server" ID="TextBoxIndirizzo"></asp:TextBox>
            
    
            <asp:Button ID="Button1" runat="server" Text="Invia" OnClick="Button1_Click" />
    nel codice della pagina, in cima dove ci sono le direttive, aggiungi:

    codice:
    using System.Data.OleDb;
    e poi all'interno della classe relativa alla pagina, l'evento del pulsante :

    codice:
        protected void Button1_Click(object sender, EventArgs e)
        {
            OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\dbtest.mdb;User Id=admin;Password=;");
            OleDbCommand comm = new OleDbCommand("INSERT INTO [Prova] (Nome, Cognome, Indirizzo) VALUES (@Nome, @Cognome, @Indirizzo)", conn);
            comm.Parameters.AddWithValue("Nome", TextBoxNome.Text);
            comm.Parameters.AddWithValue("Cognome", TextBoxCognome.Text);
            comm.Parameters.AddWithValue("Indirizzo", TextBoxIndirizzo.Text);
            try
            {
                conn.Open();
                comm.ExecuteNonQuery();
                Response.Write("Operazione conclusa con successo");
            }
            catch (Exception ex)
            {
                Response.Write("Operazione fallita : " + ex.Message);
            }
            finally
            {
                if (conn != null)
                {
                    if (conn.State == ConnectionState.Open)
                    {
                        conn.Close();
                    }
                    conn = null;
                }
            }
        }
    L'esempio è decisamente auotesplicante, ma nel caso ci fosse qualcosa di poco chiaro, chiedi pure.

    Ciao

  3. #3
    Ciao, grazie 1000 per l'aiuto ma la riga di codice da inserire prima delle direttive mi dice un errore, che l'istruzione non può trovarsi all'esterno del corpo del metodo, ma da qualsiasi parte la inserisco non funziona. Grazie ancora
    www.ertinformatica.com Vendita computer e hardware

    www.risorsefantacalcio.it News, voti del Corriere e della Gazzetta, e tanto altro.

    www.parrocchie.eu Parrocchie e siti cattolici italiani

  4. #4
    Più di così non so che dirti, se non sai aggiungere neanche una using al codebehind ti consiglio vivamente di leggerti una guida di programmazione C# perchè queste sono proprio le basi.

    Comunque ti incollo il codebehind completo (testdb.aspx.cs) relativo alla pagina testdb.aspx

    codice:
    using System;
    using System.Data;
    using System.Data.OleDb;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    
    public partial class testdb : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
    
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\dbtest.mdb;User Id=admin;Password=;");
            OleDbCommand comm = new OleDbCommand("INSERT INTO [Prova] (Nome, Cognome, Indirizzo) VALUES (@Nome, @Cognome, @Indirizzo)", conn);
            comm.Parameters.AddWithValue("Nome", TextBoxNome.Text);
            comm.Parameters.AddWithValue("Cognome", TextBoxCognome.Text);
            comm.Parameters.AddWithValue("Indirizzo", TextBoxIndirizzo.Text);
            try
            {
                conn.Open();
                comm.ExecuteNonQuery();
                Response.Write("Operazione conclusa con successo");
            }
            catch (Exception ex)
            {
                Response.Write("Operazione fallita : " + ex.Message);
            }
            finally
            {
                if (conn != null)
                {
                    if (conn.State == ConnectionState.Open)
                    {
                        conn.Close();
                    }
                    conn = null;
                }
            }
        }
    }
    come vedi la using è in mezzo alle altre.. non capisco proprio dove stia il tuo problema.

  5. #5
    é strano ma mi da sempre lo stesso errore, uso vb 2005 sarà questo il problema?
    www.ertinformatica.com Vendita computer e hardware

    www.risorsefantacalcio.it News, voti del Corriere e della Gazzetta, e tanto altro.

    www.parrocchie.eu Parrocchie e siti cattolici italiani

  6. #6
    -_- ehm, il codice che ti ho messo è in C# non in VB. A sto punto o aspetti che ti risponda qualcuno che usa VB (io non lo uso da circa 5 anni e non mi ricordo nulla) o lo abbandoni e passi al C# che è un linguaggio 1000 volte più professionale, faresti un salto di qualità notevole.

    Ciao

  7. #7
    grazie 1000, spero che cmq qualcuni mi aiuti con vb
    www.ertinformatica.com Vendita computer e hardware

    www.risorsefantacalcio.it News, voti del Corriere e della Gazzetta, e tanto altro.

    www.parrocchie.eu Parrocchie e siti cattolici italiani

  8. #8
    Per le prossime volte comunque ti consiglio di specificare nel post di apertura con quale linguaggio stai lavorando, altrimenti la maggior parte delle persone da per scontato che si utilizzi C# in quanto è il linguaggio più diffuso e completo della famiglia .NET

  9. #9
    Per evitare di non gestire eventuali errori nella creazione degli oggetti sarebbe meglio invece di

    Originariamente inviato da Sgro
    codice:
        protected void Button1_Click(object sender, EventArgs e)
        {
            OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\dbtest.mdb;User Id=admin;Password=;");
            OleDbCommand comm = new OleDbCommand("INSERT INTO [Prova] (Nome, Cognome, Indirizzo) VALUES (@Nome, @Cognome, @Indirizzo)", conn);
            comm.Parameters.AddWithValue("Nome", TextBoxNome.Text);
            comm.Parameters.AddWithValue("Cognome", TextBoxCognome.Text);
            comm.Parameters.AddWithValue("Indirizzo", TextBoxIndirizzo.Text);
            try
            {
                conn.Open();
                .....
    sarebbe meglio

    codice:
        protected void Button1_Click(object sender, EventArgs e)
        {
            OleDbConnection conn = null;         
            OleDbCommand comm = null;
            try
            {
                conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\dbtest.mdb;User Id=admin;Password=;");
                comm = new OleDbCommand("INSERT INTO [Prova] (Nome, Cognome, Indirizzo) VALUES (?, ?, ?)", conn); 
            comm.Parameters.Add("?", OleDbType.varchar).value = TextBoxNome.Text;
            comm.Parameters.Add("?", OleDbType.varchar).value = TextBoxCognome.Text;
            comm.Parameters.Add("?", OleDbType.varchar).value = TextBoxIndirizzo.Text;
                conn.Open();
                .....
    mi sento poi di aggiungere che queste affermazioni

    Originariamente inviato da Sgro
    o lo abbandoni e passi al C# che è un linguaggio 1000 volte più professionale, faresti un salto di qualità notevole
    ...
    C# in quanto è il linguaggio più ... completo della famiglia .NET
    sono tue opinioni. I due linguaggi permettono di fare sostanzialmente le stesse cose. Dopo di che, i gusti sono gusti e non si discutono.
    Saluti a tutti
    Riccardo

  10. #10
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da riccardone

    mi sento poi di aggiungere che queste affermazioni

    sono tue opinioni. I due linguaggi permettono di fare sostanzialmente le stesse cose. Dopo di che, i gusti sono gusti e non si discutono.
    :quote:
    Pietro

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.