PDA

View Full Version : [VB.NET] Inserire un record


OrcaAssassina
09-03-2007, 17:50
Sto iniziando a fare le prove con vb.net con i database

Ho fatto la mia connessione sql a sqlespress

ho creato la mia dataadapter e mediante il dataset ho passato i valori ad una datagrid

Private SQLDA As System.Data.SqlClient.SqlDataAdapter
Private m_DataSet As DataSet

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

SQLDA = New SqlClient.SqlDataAdapter("select * from Utenti", conn.Database)
m_DataSet = New DataSet
SQLDA.Fill(m_DataSet, "Utenti")
dgTestScores.SetDataBinding(m_DataSet, "Utenti")


End Sub


Tutto funzionante...la tabella si popolo con i dati del DB

Ora vorrei lavorarci, ossia INSERT-UPDATE-DELETE

Non riesco ad inserire i dati

Mi potete fare un esempio che lo provo

Ho messo 3 textbox:
textbox1
textbox2
textbox3

I nomi del campi sono:
Nome
Cognome
Sesso

La tabella: Utenti

Sapete crearmi una funzione per aggiungere un nuovo record????

Ciao e grazieeeeeeeeee

RaouL_BennetH
09-03-2007, 18:45
Dim miaConnessione As New SqlConnection("stringa_di_connessione")
Dim insertCommand As New SqlCommand("INSERT INTO tua_tabella(campo1, campo2, campo3) VALUES('" & textBox1.text & "', '" etctetera..)", mia_Connessione)

'Edit

int nuovo_record = insertCommand.ExecuteNonQuery()

OrcaAssassina
09-03-2007, 22:58
Dim miaConnessione As New SqlConnection("stringa_di_connessione")
Dim insertCommand As New SqlCommand("INSERT INTO tua_tabella(campo1, campo2, campo3) VALUES('" & textBox1.text & "', '" etctetera..)", mia_Connessione)

'Edit

int nuovo_record = insertCommand.ExecuteNonQuery()



Ok domani lo provo poi ti faccio sapere

OrcaAssassina
10-03-2007, 09:39
Questa è la mia sqlcommand

Dim insertCommand As New SqlClient.SqlCommand("INSERT INTO Utenti(Nome, Sesso, Indirizzo) VALUES('" & TextBox1.Text & "', '" & TextBox2.Text & "','" & TextBox3.Text & "')", conn)

mi da errore l'ultima virgoletta.
Me la segna in errore ", conn)

Dicendomi che manca una parentesi, ma non capisco proprio dove metterla


E poi ascolta visto che ci siamo, cosi almeno prendo tutto in una volta

int nuovo_record = insertCommand.ExecuteNonQuery()

nuovo_record come lo devo dichiarare????

Ciao e grazieeeee

OrcaAssassina
10-03-2007, 17:59
Ho scritto cosi ma mi da errore

Private insert As System.Data.SqlClient.SqlCommand

-------------


Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click


Dim insert As New SqlClient.SqlCommand
insert.CommandText = "INSERT INTO Utenti " & _
"(Nome, Sesso, Indirizzo) VALUES (Antonio, Maschio, CorsoAmendola)"
insert.ExecuteNonQuery()

End Sub

-------------------

Cosi non mi visualizza nessun errore di sintassi, ma quando lo eseguo, mi segna
insert.ExecuteNonQuery()
come errore e mi scrive

ExecuteNonQuery: la proprietà Connection non è stata inizializzata.

Come devo fare????

Ciao e grazieeeeee

RaouL_BennetH
11-03-2007, 17:19
Ciao :)

Non ti basta dichiarare la stringa della tua connessione, devi anche inizializzarla con (per esempio):

Dim miaConnessione As new SqlConnection("stringa_di_connessione")

miaConnessione.Open() //qui apri la connessione con il db.