Sintassi su databsa mysql

venerdì 20 gennaio 2006 - 15.39

Friderich Profilo | Newbie

Ciao Ragazzi; ho una datagrid ed un datalist nella mia pagina aspx alla quale cerco di far fare delle operazione sia di update che di delete; non capisco come mai la sintassi standard dell'sql che si usa in asp.net c# e che mi funziona benissimo su sql server nn mi funziona altrettanto bene in mySql.

Ad esempipo, quando si fa un update da una gridView e si ha una colonna che si chiama per esempio Nome, si indica nelle query @Nome per dire di prendere il valore presente dentro la cella sotto la colonna Nome, perchè questo avviene con Mysql, come si fanno le query quando si usa Mysql?!

es :

InsertCommand="INSERT INTO tabella(nome) VALUES (@nome)"


<InsertParameters>
<asp:Parameter Name="nome" Type="string" />
</InsertParameters>

freeteo Profilo | Guru

ciao,
per mysql devi usare il "?" come indicativo di parametro altrimenti con la "@" non va...
quindi la tua query diventa:

INSERT INTO tabella(nome) VALUES (?nome)"

per access invece il problema non ce perche è sempre microsoft, ma tieni presente che access a differenza di sql va per posizione del parametro nella collezione piu che per nome...a mio avviso 1po "forviante"...

ciao

Matteo Raumer - .net addicted :-)
http://blogs.dotnethell.it/freeteo

Friderich Profilo | Newbie

Ho provato ma questo è l'errore che viene generato fuori, secondo te per quale motivo?!

ERROR [07002] [MySQL][ODBC 3.51 Driver][mysqld-4.1.11-Debian_4sarge2-log]SQLBindParameter not used for all parameters
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.Odbc.OdbcException: ERROR [07002] [MySQL][ODBC 3.51 Driver][mysqld-4.1.11-Debian_4sarge2-log]SQLBindParameter not used for all parameters

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.


freeteo Profilo | Guru

ciao,
sinceramente bene non saperei ma dalla descrizione dell'errore sembra che alcuni parametri non siano stati passati correttamente, per fare qualche prova ti consiglio di procedere dapprima mettendo i parametri in ordine per scongiurare problemi di "posizione", (quindi potresti fare a meno di dare il nome al parametro ti basterebbe mettere 1a serie di "?" per quanti sono).
Poi eventualmente provare con 1 parametro alla volta per vedere se è colpa di qualcuno di questi o di qualcos'altro
ciao

Matteo Raumer - .net addicted :-)
http://blogs.dotnethell.it/freeteo
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