PDA

View Full Version : [VB.NET/ACCESS]Urgentino... oledbparameter


RaouL_BennetH
06-06-2008, 13:09
ciao a tutti :)

Chiedo scusa per "l'urgente" nel titolo ma avrei solo un'oretta per risolvere:

ecco il codice:



Public Function InParameter() As OleDbParameter()
Dim param As OleDbParameter() = New OleDbParameter(2) {}
param(0) = New OleDbParameter("@id, OleDbType.VarChar)
param(0).Value = miatextbox
'bla per l'altro parametro
return param
blabla

Dim cmd As New OleDbCommand(stringaCn, connessione)
'dove stringaCn = "insert into table(bla) values(@id, @bla, @blu...)
for each p As OledBParameter in InParameter()
cmd.Parameters.Add(p)
Next
cmd.ExecuteNonQuery()
'blabla



Ora, quando vado ad eseguire la insert ottengo:

"Nessun valore predefinito per il parametro @id"

plz... :help:

gugoXX
06-06-2008, 13:58
errore. E' VB

Riordian
06-06-2008, 14:18
Con OleDB non si usano i punti interrogativi?
cioè la stringa di insert dovrebbe essere:
"insert into table(bla) values(?, ?, ?...)"
Mi ricordavo così e anche le MSDN la danno così la stringa.

RaouL_BennetH
06-06-2008, 14:23
di base infatti utilizzavo il ? per i parametri.

Cmq, cosa strana, ho aperto il db, fatto "compatta e ripristina database" come letto su un sito dove qualcuno ha avuto questo medesimo problema, ed ora funziona ... bah :rolleyes:

Meno male che è solo per un piacere da fare ad un amico...

Passi il vb.net, ma access proprio come base dati non riesco a digerirla.

Riordian
06-06-2008, 14:26
access proprio come base dati non riesco a digerirla.


Ti capisco, ho dovuto fare un trasferimento dati da access a sql e ne so qualche cosa :)