5 messaggi dal 17 febbraio 2007
Ciao a tutti, non riesco a connettermi ad un db access utilizzando l seguente codice nella pagina vb mi sapreste dare una mano:

Dim Dbc As New Data.SqlClient.SqlConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\Inetpub\wwwroot\salumificioiccara.it\mdb-database\salumificioiccara.mdb;")
Dbc.Open()
Dim Cmd As New Data.SqlClient.SqlCommand("SELECT * FROM [Tab_prodotti] WHERE (id_categoria='" & id_categoria.Text & "' AND id_sottocategoria='" & id_sottocategoria.Text & "')", Dbc)
Dim Rs As Data.SqlClient.SqlDataReader
Rs = Cmd.ExecuteReader()
Rs.Read()

If Rs.HasRows Then
Image2.ImageUrl = "prodotti/immagini/articoli/" & Rs("img_articolo")
Image2.AlternateText = Rs("articolo")
End If

Rs.Close()
Dbc.Close()
Rs = Nothing
Dbc = Nothing


mi da "errore di sintassi dopo il sibolo = nel rigo "Rs = Cmd.ExecuteReader()"


dove stà l'errore


grazie a chiunque voglia aiutarmi
39 messaggi dal 04 marzo 2006
www.naamah.it
Utilizzi i controlli SqlClient per connetterti ad una fonte dbAccess.

Prova così...

Dim connDB As OleDbConnection
connDB = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; data source=" & Server.MapPath("mdb-database/salumificioiccara.mdb"))
connDB.Open()

Dim SQL As String
SQL = "SELECT * FROM [Tab_prodotti] WHERE (id_categoria='" & id_categoria.Text & "' AND id_sottocategoria='" & id_sottocategoria.Text & "
Dim CMD = New OleDbCommand(SQL, connDB)
Dim aReader = CMD.ExecuteReader()
Dim field1() As String
Dim field2() As String

... field3() ecc.

Dim i, j, key As Integer
While aReader.Read()
ReDim Preserve file(i + 1)
ReDim Preserve descrizione(i + 1)
field1(i) = aReader(0).ToString
field2(i) = aReader(1).ToString

... field3() ecc.

i = i + 1
End While
aReader.Close()
connDB.Close()

... dimenticavo: ovvimente devi importare il namespace System.Data
Modificato da Naamah il 24 novembre 2007 09.16 -
5 messaggi dal 17 febbraio 2007
Naamah, grazie per l'aiuto ma purtroppo sono un pò agli inizi così vorrei sapere cosa intendi per:

"ovvimente devi importare il namespace System.Data"


inoltre visto che poi alla fine devo passere due indici a due oggetti immagine per cambiare la scheda del prodotto come riportato qui sotto...


Image2.ImageUrl = "prodotti/immagini/articoli/" & Rs("img_articolo")
Image2.AlternateText = Rs("articolo")

mi interessava estrapolare del Db il campo "articolo" e "img_articolo"

come posso adattare il tuo...

field1(i) = aReader(0).ToString
field2(i) = aReader(1).ToString

a quanto scritto sopra


Grazie
39 messaggi dal 04 marzo 2006
www.naamah.it
"ovvimente devi importare il namespace System.Data" significa che la prima riga della tua pagina aspx deve essere la seguente
<%@ Import Namespace="System.Drawing" %>

Image2.ImageUrl = "prodotti/immagini/articoli/" & Rs("img_articolo")
Image2.AlternateText = Rs("articolo")

Se il tuo "img_articolo" sarà il campo 0 del database e "articolo" il campo 1 allora il codice sarà...
Insomma l'indice di aReader è l'indice del campo di database.

Image2.ImageUrl = "prodotti/immagini/articoli/" & aReader(0).ToString
Image2.AlternateText = aReader(1).ToString
5 messaggi dal 17 febbraio 2007
ciao Naamah, ti ringrazio della tua disponibilità ... sono vicino ma non ho raggiunto la soluzione.

In base al tuo ultimo suggerimento la stringa di connessione che ho corretto è la seguente...




Dim connDB As Data.OleDb.OleDbConnection
connDB = New Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; data source=" & Server.MapPath("../mdb-database/salumificioiccara.mdb"))
connDB.Open()
Dim SQL As String
SQL = "SELECT * FROM [Tab_prodotti] WHERE (id_categoria='" & id_categoria.Text & "' AND id_sottocategoria='" & id_sottocategoria.Text & "')"
Dim CMD = New Data.OleDb.OleDbCommand(SQL, connDB)
Dim aReader = CMD.ExecuteReader()
Dim field1() As String
Dim field2() As String
Dim file

Dim i, j, key As Integer
While aReader.Read()
ReDim Preserve file(i + 1)
ReDim Preserve descrizione(i + 1)
field1(i) = aReader(0).ToString
field2(i) = aReader(1).ToString

i = i + 1

Image2.ImageUrl = "prodotti/immagini/articoli/" & aReader(4).ToString
Image2.AlternateText = aReader(3).ToString
End While

aReader.Close()
connDB.Close()


ove 3 e 4 sono gli indici relativi ai campi del Db come mi hai spiegato.
Vorrei saper cosa sono le variabili "file" e "descrizione" perchè ricevo un errore di mancata dichiarazione di tali variabili.

Ho dichiarato la prima e non mi ha dato errore, ma non so sintatticamente come e dove dichiarare la seconda.

grazie per l'aiuto che spero potrai darmi
39 messaggi dal 04 marzo 2006
www.naamah.it
ooops... scusa... file e descrizione sono variabili del mio progetto. A te non servono.

ReDim Preserve file(i + 1)
ReDim Preserve descrizione(i + 1)

diventerà

ReDim Preserve field1(i + 1)
ReDim Preserve field2(i + 1)

... ma se ho ben capito cosa devi fare direi che il seguente blocco non ti serve

ReDim Preserve file(i + 1)
ReDim Preserve descrizione(i + 1)
field1(i) = aReader(0).ToString
field2(i) = aReader(1).ToString

... prova a cancellarlo.
5 messaggi dal 17 febbraio 2007
... purtroppo non và cancellando il pezzo che mi hai detto ecco il codice:



Dim connDB As Data.OleDb.OleDbConnection
connDB = New Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; data source=" & Server.MapPath("../mdb-database/salumificioiccara.mdb"))
connDB.Open()
Dim SQL As String
SQL = "SELECT * FROM [Tab_prodotti] WHERE (id_categoria='" & id_categoria.Text & "' AND id_sottocategoria='" & id_sottocategoria.Text & "')"
Dim CMD = New Data.OleDb.OleDbCommand(SQL, connDB)
Dim aReader = CMD.ExecuteReader()
Dim field1() As String
Dim field2() As String

While aReader.Read()

Image2.ImageUrl = "prodotti/immagini/articoli/" & aReader(4).ToString
Image2.AlternateText = aReader(3).ToString

End While

aReader.Close()
connDB.Close()



rilevo un errore nel rigo "Dim aReader = CMD.ExecuteReader()"

con la nota:
"Tipi di dati non corrispondenti nell'espressione criterio."


ma visto che hai capito bene o male ciò che mi occorre non potresti correggere la sintassi di cui sopra?

grazie
39 messaggi dal 04 marzo 2006
www.naamah.it
Questo è uno stralcio di codice che a me và... ora il problema potrebbe essere nell'aggancio al tuo database.
Dunque...

Se vuoi puoi passarmi il tuo database che lo provo qui sulla mia macchina, l'email è webmaster@naamah.it

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.