ciao a tutti
sto sistemando un programma fatto con vb.net
e ho questo dubbio che non riesco a risolvere:
io ho questo codice con cui scrivo i dati di un access nella mia datagrid
------------------------------------
With dbAdaptr
'Populate(table)
SQLStr = "select * from tab_for"
.TableMappings.Add("Table", "listino")
cmd = New System.Data.OleDb.OleDbCommand(SQLStr, cn)
cmd.CommandType = CommandType.Text
.SelectCommand = cmd
.Fill(dsListini)
.Dispose()
End With
-----------------------------------
e fin qui tutto bene poi fatto questo devo salvare i dati modificati nella datagrid
quindi ho fatto questo codice:
---------------------------------------
With dbAdaptr
SQLStr = "UPDATE tab_for_art SET NOME_FORNITORE = @NOME_FORNITORE "
cmd = New System.Data.OleDb.OleDbCommand(SQLStr, cn)
cmd.CommandType = CommandType.Text
.UpdateCommand = cmd
.Update(dsListini.Tables("listino"))
dsListini.Clear()
End With
--------------------------------------
ora l'errore è nella query perchè se faccio la prova di assegnare al campo NOME_FORNITORE un valore fisso lo fa
es.
"UPDATE tab_for_art SET NOME_FORNITORE = '1'"
quindi cosa c'è di sbagliato
la @ prima del nome campo ho visto su internet che veniva usata per passare il valore del campo della tabella
o sbaglio??

Rispondi quotando
