Problema con DataGridView e query di Insert, Update, Delete.

sabato 11 agosto 2007 - 13.47

Giovanni_3478 Profilo | Senior Member

Ciao

Programmo in Visual Basic

Ho fatto delle ricerche nel forum e ci sono vari threds sull'argomento:
alcuni non hanno avuto nessuna risposta, altri non hanno avuto risoluzione.

Sempre una cosa facile e ovvia
ma se dà problemi forse non lo è così tanto.


Ho inserito un datagridview
e creando quindi dataset, bindingsource e tableadapter.

Nel dataset
con progettazione dataset
ho inserito 3 query che si aggiungono alla funzione Fill,GetData:
le query di update, insert e delete
che ho chiamato rispettivamente UpdateQuery,InsertQuery, DeleteQuery.

Le query le ho provate dalla finestra di query e funzionano.

Il dataGridview visualizza la select.

Tutto il resto non lo fa.

Ho provato ad usare le 3 query allevento onclick di un button
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Table1TableAdapter.UpdateQuery("bbb", 3)
Poi ho provato ---> Me.Table1TableAdapter.DeleteQuery(2)
Poi ho provato ---> Me.Table1TableAdapter.InsertQuery("bbb")

A volte funzione a volte no; senza una logica.

Cosa ho sbagliato o mancato?


ps
Ho letto da qualche parte di usare il metodo Update dell'adapter.
La classe tableadapter che ho menzionato sopra
non ha il metodo update, ma solo le funzioni UpdateQuery,InsertQuery, DeleteQuery
che ho creato in progettazione dataset

denis.basei Profilo | Senior Member

Prova a controllare nel tuo dataset, in corrispondenza del tableadapter associato al datatable in questione le proprietà InsertCommand, UpdateCommand e DeleteCommand. Per ciascuna di queste trovi tre ulteriori sottoproprietà (CommandTest, CommandType e Parameters).


Denis

Giovanni_3478 Profilo | Senior Member

Sì ho controllato nel tableadapter le 3 sottoproprietà
CommandTest, CommandType e Parameters.
Mi sembra siano a posto.

Perchè che errori potrebbero esserci?


Ho creato una nuova applicazione per fare nuove prove da zero.
Ho inserito un button
e all'evento onclick:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim UpdateQuery As New SqlClient.SqlCommand("UPDATE Table1 SET nome = N'Ciao' WHERE (id = 1)", cnn1)
cnn1.Open()
UpdateQuery.ExecuteNonQuery()

cliccando sul button non succede nulla.

Comincio a pensare che sia un problema del database.

Hai qualche idea?

denis.basei Profilo | Senior Member

La query che hai eseguito nel db di prova è corretta. Anch'io non escluderei che ci sia qualche problema nel database oppure la query non produce nessuna selezione. Che tipo di database usi?

Giovanni_3478 Profilo | Senior Member

Ho risolto!

La connection string era del tipo |Home directory|nomeDb.mdf

Invece doveva essere C:\percorso\nomeFile.mdf



Grazie


Ciao

Cteniza Profilo | Guru

Prova ad eseguire il tuo programma e non dall'ide.
Se funziona allora devi andare sulle proprietà del progetto, nel database, togliere l'azione "copia ad ogni compilazione".

the_follet Profilo | Newbie

Vedo che bene o male ci siamo cascati tutti almeno una volta in questo problema del "copia ad ogni compilazione"...
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