Parametro DELETE

venerdì 26 novembre 2010 - 10.22
Tag Elenco Tags  .NET 3.5  |  Windows XP  |  Visual Studio 2008  |  SQL Server 2008 R2  |  Crystal Reports 2008

Peppino Profilo | Junior Member

Ciao a tutti
Ho una tabella "RIPARTO" con la colonna "ID" (PK int).
Ho una TextBox TextBox in cui inserisco il numero da cercare in tabella
Dichiaro la variabile ID
Dim ID As Integer = CInt(TxtID.Text)
Scrivo la query per il tipo di operazione da fare
Dim cmd As SqlCommand
cmd = New SqlCommand()
cmd.Connection = SqlHelper.ConnessioneDatabase
Con la seguente stringa vorrei cancellare i dati in tabella secondo parametro
Dim myQuery As String = "DELETE FROM Riparto WHERE ID=@ID"
cmd.Parameters.Add(New SqlParameter("@ID", SqlDbType.Int))
cmd.Parameters("@ID").Value = ID
myDataAdapter = New SqlDataAdapter(myQuery, cmd.Connection)
Purtroppo in questo modo non succede niente, mentre se nella stringa al posto di =@ID scrivo direttamente il numero che inserisco nella TextBox allora cancella i dati.
Dov'è l'errore?. Grazie in anticipo per l'eventuale risposta. Saluto tutti.
Ciao. Peppino.

sanbiz Profilo | Senior Member

>Dim cmd As SqlCommand
>cmd = New SqlCommand()
>cmd.Connection = SqlHelper.ConnessioneDatabase
>Con la seguente stringa vorrei cancellare i dati in tabella secondo
>parametro
>Dim myQuery As String = "DELETE FROM Riparto WHERE ID=@ID"
>cmd.Parameters.Add(New SqlParameter("@ID", SqlDbType.Int))
>cmd.Parameters("@ID").Value = ID
>myDataAdapter = New SqlDataAdapter(myQuery, cmd.Connection)
>Dov'è l'errore?. Grazie in anticipo per l'eventuale risposta.

Il commanttext di cmd non è stato indicato. Tu definiscri la stringa, ma non l'associ al command:
cmd.commandtext = myQuery

Per l'esecuzione utilizza anche cmd.executenonquery senza passare dal dataadapter
--
Sandro Bizioli
http://blogs.dotnethell.it/sandro/

Carmelo1965 Profilo | Junior Member

Ciao Peppino, scusa se mi intrometto, posso chiederti un favore, mi dici come posso fare
a cercare la RagioneSociale al posto dell' ID , CONSIDERA CHE devo cercarlo in un Datagrid, credo che il procedimento sia come il Tuo.

Saluti Carmelo
Un grazie a tutti i collaboratori....

Feroxkk Profilo | Junior Member

dim conn as new sqlconnection
dim cmd as new sqlcommand

sqlconnection.connectionstring = " xyxyxyxyxy"
cmd.connection = conn

cmd.commandtext = "DELETE ecc ecc xyxyxyxyxy"
Poi utilizzi parameters...


conn.open()
cmd.executenonquery()
conn.close()
(o simile)

Credo possa essere anche così un po più semplice....



Per carmelo:
Se hai tempo puoi scrivermi su msn o in privato, ho risolto ora questi problemi ed ho capito bene come fare le ricerche se ti serve fammi sapere.

Carmelo1965 Profilo | Junior Member

spiego come è impostato il mio FORM :

1 DATAGRDI dove leggo i dati
1 pulsante dove inserisce tutti i record.
1 Txt dove dovrei scrivere la RagioneSociale che mi interessa
ed un secondo pulsante per la procedura del txtCerca.txt

ovviamente in sqlclient con Visual Studio 2005

grazie mille non so dove scriverti in msn la mia e-mail carmelo.carmelo@gmail.com
Un grazie a tutti i collaboratori....

Feroxkk Profilo | Junior Member

Aspetta per ora o inserisci o cerchi, sopratutto se hai più campi in una tabella non può esistere una sola textbox.


Comunque mettiamo per questo esempio:
1 DATAGRDI dove leggo i dati
1 pulsante dove inserisce tutti i record.#### ometto
1 Txt dove dovrei scrivere la RagioneSociale che mi interessa
1 pulsante per la procedura del txtCerca.txt
OK.

Io (che non sono un maestro) scriverei così:
sopra a tutto:
imports system.data
imports system.data.sqlclient (e relativi)

button click.

dim tuaconnessionesql1 As New SqlConnection _
("server=localhost\nomepc;database=#nomedatabase#) ' per ora prova senza password
dim tuodatadapter2 as new sqldataadapter()
dim tuodataset3 As New Dataset()
dim RagSoc as string
RagSoc = txtCerca.text

tuodatadapter2.selectcommand = new sqlcommand()
tuodatadapter2.selectcommand.connection = tuaconnesionesql1
tuodatadapter2.selectcommand = _
"SELECT RagioneSociale,#e tutti i campi che ti interessano, se nei campi ci sono spazi mettili tra parentesi quadre# FROM #Nomedellatabella" & _
"WHERE RagioneSociale = @RagSoc"
tuodatadapter2.selectcommand.commandtype = COMMANDTYPE.TEXT

TUACONNESSIONESQL1.open()
tuodatadapter2.Fill(tuodataset3,"#Nome tabella#")
tuaconnessione1.close()

tuodatagrid.autogeneratecolimn = true
tuodatagrid.datasource = tuodataset3
tuodatagrid.datamember = "#NomeTabella#"
prova a vedere se così funziona.







per l'inserimento è più semplice

dim tuaconnessionesql1 As New SqlConnection _
("server=localhost\nomepc;database=#nomedatabase#) ' per ora prova senza password
dim tuocomando2 as new sqlcommand

tuocomando2.connectionstring = tuaconnessionesql1

tuocomando2.commandtext = "INSERT INTO #NomeTabella#" & _
"(Campo1,campo2,campo3,RagiuneSociale)" & _
"VALUES(@primocampo,@secondocampo,@terzocampo,@ragionesociale)"
tuocomando2.parameters.addwithvalue("@Primocampo", textbox1.text)
tuocomando2.parameters.addwithvalue("@SecondoCampo", textbox2.text)
tuocomando2.parameters.addwithvalue("@TerzoCampo", textbox3.text)
tuocomando2.parameters.addwithvalue("@RagioneSociale", regionesociale.text)

tuaconnession1.open()
tuocomando2.executenonquery()
tuaconnessione1.close()

Prova in questo modo.


TI CONSIGLIO PERò DI PROVARE AD UTILIZZARE CLASSI E METODI.
Potrebbe essere:
Classe Contatto
Dim ragionesociale as string
dim numeroditelefono as string
dim indirizzo as string
EndClass

metodo tutto il codice scritto prima.
e invece di ragionesociale dichiarata come dim ragsoc as string diverrebbe contatto.ragionesociale
PIU' CHE ALTRO DIMMI SE TI FUNZIONA O SE HAI ALTRI PROBLEMI.

Forse c'è qualche piccolo errore qua e la di sintassi, tipo &_che sarebbe & _ correggi te.

Peppino Profilo | Junior Member

Ciao
Grazie a tutti e grazie per l'interessamento e per la tempestiva risposta.
Comunque ho corretto il codice della query e adesso è OK.
Ciao Carmelo, hai avuto la risposta contemporaneamente al mio problemo, in quanto è lo stesso.
Grazie ancora a tutti. Saluto. Ciao. Peppino.

Feroxkk Profilo | Junior Member

Dovete ringraziare benaglia è lui che pèoche ore prima mi ha fatto capire in modo perfetto questi meccanismi.
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5