Aiuto!

mercoledì 08 agosto 2007 - 21.08

z.cristiano Profilo | Newbie

Salve a tutti...
Ho una difficoltà creare l'INSERT nel database...

Siccome ho scaricato da internet e stampato i manuali WROX:

- Beginning C# 2005 database
- Beginning C# 2005 Express Edition
- ADO.NET 2

Sono interessanti, ma non c'è proprio come inserire i dati nel database, cioè, ho fatto una maschera con due campi in txtNome e txtCognome e sul pulsante ho messo il codice che i dati compilati verranno memorizzati e registrati nel database SQL SERVER e non sono riuscito!

Allora, ricapitolo tutto!

prima di creare la maschera, AGGIUNGI NUOVO ELEMENTO -> DATABASE SQL, appena creato il file DATABASE.MDF e nella tabella ho messo: id (primary key e specifica identità SI), nome, cognome

Nella maschera ho messo un campo txtNome, txtCognome e un pulsante btnRegistra, sul pulsante btnRegistra ho inserito un codice

private void btnRegistra_Click(object sender, EventArgs e)
{

SqlConnection conn = new SqlConnection(@"server = .\sqlexpress; integrated security = true;");
string query = @"INSERT INTO clienti(nome, cognome)values(@txtNome, @txtCognome)";
SqlCommand cmq = new SqlCommand(query, conn);

}

Poi, non mi ricordo cosa e come devo inserire all'interno del conn.Open(); e conn.Close();

Vi prego mi potete sinteticamente spiegare?
Perchè sui libri non c'è neanche un applicazione semplice da capire!!

Poi, secondo voi vanno bene quei libri che ho scaricato e stampati?

Aspetto notizia
Grazie
Cristiano

Ciciu Profilo | Senior Member

Ciao.
Vado un po' a memoria...


string tNome = "Fabio";
string tCognome = "Grande";

' Qui crei l'oggetto che rappresenta la connessione
SqlConnection conn = new SqlConnection(@"server = .\sqlexpress;integrated security = true;");

' Qui crei la stringa che rappresenta il comando che andrai ad inserire
string query = @"INSERT INTO clienti(nome, cognome) values (@txtNome,@txtCognome)";

' Qui apri la connessione
conn.Open();

' Qui crei un nuovo oggetto "Comando"
SqlCommand cmq = new SqlCommand(query, conn);

'Leghi il parametro @txtNome ad una variabile tNome
cmq.Parameters.Add(new SqlParameter('@txtNome', tNome));

' Leghi il parametro @txtCognome ad una variabile tCognome
cmq.Parameters.Add(new SqlParameter('@txtCognome', tCognome));

' Esegui il comando
cmd.ExecuteNonQuery();

' Qui chiudi la connessione
conn.Close();

...e a questo punto dovrei trovarmi tra i Tuoi Clienti....
Bah, sono andato a memoria... Sicuramente mi sono dimenticato qualcosa.
Prova un po', fammi sapere come va
Ciao - FabioG
Fabio G

z.cristiano Profilo | Newbie

Ciao...
Ho provato!
Niente, non funziona! Non capisco!!!

Scusa per l'ignoranza, perchè mi hai consigliato di inserire

string tNome = "Fabio";
string tCognome = "Grande"; ?????

Ma siccome ho fatto la mascherza con due campi un campo Nome e un campo Cognome e i nomi di questi campi si chiamano txtNome e txtCognome e sul codice mi sà che và inserito in txtNome.Text e txt.Cognome.Text, non è giusto?

Mi scoccio di romperti le scatole, ma ho veramente e talmente bisogno di capire questa piccola sciocchezza e spero che mi perdoni!
Anche perchè sui libri Wrox non c'è ma neanche una maschera di esempio su come inserire i dati compilati (nome e cognome) sul database..

Ma a proposito, che libro mi consiglieresti di comprare (più facile e più utilizzabile a capire)

Grazie e aspetto notizia
Cordiali saluti
Cristiano

Ciciu Profilo | Senior Member

Dunque tNome e tCognome sono due variabili che, come ne suggerisce il nome, contengono nome e cognome. Nulla Ti vieta, ovviamente, di sistituirle con txtxNome.Text e txtCognome.Text.

Ho visto adesso che ci sono alcuni errori di battitura : l'oggetto comando si chiama un po' CMQ e un po' CMD.

A parte questo, cosa non funziona esattamente ? Quali messaggi ottieni ?

Ciao - FabioG
Fabio G

Ciciu Profilo | Senior Member

Ciao.
Ho fatto una prova, e così mi funziona :

string tNome = "Fabio";
string tCognome = "Grande";
SqlConnection conn = new SqlConnection(@"Data Source=NWV-FABIOG-01;Initial Catalog=Ciciu;Integrated Security=True");
string query = @"INSERT INTO tblNomi(nome, cognome) values (@txtNome,@txtCognome)";
conn.Open();
SqlCommand cmd = new SqlCommand(query, conn);
cmd.Parameters.Add(new SqlParameter("@txtNome", tNome));
cmd.Parameters.Add(new SqlParameter("@txtCognome", tCognome));
cmd.ExecuteNonQuery();
conn.Close();

Purtroppo, sulla mia macchina non ho installato SQLServerExpress, ma solo SQLServer, per cui la stringa di connessione è sicuramente diversa.
BTW, fammi sapere che tipo di problemi hai, se sono errori di compilazione o altro.

Per quanto riguarda i libri, quelli della Wrox sono decisamente buoni.
PotresTi cercare anche qualche libro "for dummies", che forse fa al caso Tuo.

Ciao - FabioG
Fabio G
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5