INSERT con valori tutti null (mi vedete questa procedura?)

mercoledì 18 ottobre 2006 - 23.06

Amodio Profilo | Expert

salve a tutti
data la procedura:
Public Sub Inserisci2() strSql = "INSERT INTO tradregistrazione (" & _ "RcodLingua," & _ "immissioneDati," & _ "Confermadati," & _ "Prenota) VALUES (" & _ "@RcodLingua," & _ "@immissioneDati," & _ "@Confermadati," & _ "@Prenota)" CMD = New OdbcCommand(strSql, MyConn) With CMD .Parameters.Add("@RcodLingua", OdbcType.Int).Value = RcodLingua .Parameters.Add("@immissioneDati", OdbcType.VarChar).Value = immissioneDati .Parameters.Add("@Confermadati", OdbcType.VarChar).Value = Confermadati .Parameters.Add("@Prenota", OdbcType.VarChar).Value = Prenota Dim i As Integer = .ExecuteNonQuery() End With CMD = Nothing End Sub
incredibile o meno, valorizzo tutte le variabili, SI,sono sicuro che hanno un valore in quanto persino se ci passo sopra con il mouse si vede il valore
poi la variabile i, non appena il command esegue l'insert segnia il valore: "1",dovrebbe avere inserito bene? invece NO!! ha inserito TUTTI valori null

non ce la faccio piu' sono le 11 di sera, sono sfinito :(
ma come ca** !!!! è una semplice procedura cavolo!5 parametri e 5 variabili
mi sa che ritorno a fare le insert into a stringa come unavolta!

please aiuto!!! cosa sbaglio

lbenaglia Profilo | Guru

>please aiuto!!! cosa sbaglio

Ciao Amodio,

come mai utilizzi ODBC? Tra tutte le soluzioni esistenti hai scelto la più inefficiente
A che DBMS ti devi connettere?

Spulciando MSDN ho trovato questo:

"Remarks

When CommandType is set to Text, the .NET Framework Data Provider for ODBC does not support passing named parameters to an SQL statement or to a stored procedure called by an OdbcCommand. In either of these cases, use the question mark (?) placeholder. For example:

SELECT * FROM Customers WHERE CustomerID = ?

The order in which OdbcParameter objects are added to the OdbcParameterCollection must directly correspond to the position of the question mark placeholder for the parameter in the command text."
http://msdn2.microsoft.com/en-us/library/system.data.odbc.odbccommand.parameters.aspx

Quindi quella sintassi non è ammessa con il .NET Framework Data Provider for ODBC quando il CommandType è impostato a Text (anche se tu non l'hai espressamente fatto).
Ripeto, perché utilizzi questo provider?
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

Amodio Profilo | Expert

non riesco a trovare la giusta stringa di connessione per mysql
ho postato in un forum
http://forum.html.it/forum/showthread.php?s=&threadid=1039112&highlight=mysql
ma non mi ha risolto la situazione, ho quindi deciso di usare ODBC visto che avevo la stringa di connessione


tu sai come devo impostare nel web.config la stringa di connessione?
nonostante la soluzione in quel forum,mi continuava a dare errore:"ma mi da errore su provider non trovato o non installato!"

......
ah ecco ora ho trovato dove ho postato in questo forum:
http://www.dotnethell.it/forum/messages.aspx?ThreadID=10777

lbenaglia Profilo | Guru

>tu sai come devo impostare nel web.config la stringa di connessione?
Leggi questo articolo di David dove troverai i dettagli per installare un OLEDB Provider per MySQL:
http://www.dotnethell.it/articles/MySQL.aspx

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

Amodio Profilo | Expert

si ho letto tutto l'articolo
mi sono scaricato e installato il mysql connector
ora con il connector come posso impotare la stringa di connessione nel web.config?
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5