7 messaggi dal 29 giugno 2009
Salve a tutti. Vorrei gentilmente sapere quale fosse la sintassi SELECT con VB.NET. Utilizzo un DB access. Ho provato a far così:

        Dim objconn As OleDbConnection
        Dim stringaconn As String
        Dim stringasql As String
        Dim objcomm As OleDbCommand
        stringaconn = "Provider=Microsoft.JET.OLEDB.4.0;Data Source=db.mdb"
        objconn = New OleDbConnection(stringaconn)
        objconn.Open()
        stringasql = "SELECT Password FROM Tabella2"
        objcomm = New OleDbCommand(stringasql, objconn)
        objcomm.ExecuteNonQuery()


Ma non funziona .. dove sbaglio ?
Grazie a tutti.
1.976 messaggi dal 27 luglio 2005
Contributi
salve,
Marco_The_Pianist wrote:
Salve a tutti. Vorrei gentilmente sapere quale fosse la sintassi SELECT con VB.NET. Utilizzo un DB access. Ho provato a far così:
Dim objconn As OleDbConnection
Dim stringaconn As String
Dim stringasql As String
Dim objcomm As OleDbCommand
stringaconn = "Provider=Microsoft.JET.OLEDB.4.0 ata Source=db.mdb" objconn = New OleDbConnection(stringaconn)
objconn.Open()
stringasql = "SELECT Password FROM Tabella2"
objcomm = New OleDbCommand(stringasql, objconn)
objcomm.ExecuteNonQuery()


Ma non funziona .. dove sbaglio ?
Grazie a tutti.

la sintassi e' tecnicamente ineccepibile, restituisce l'attributo [Password] di tutte le righe presenti nella tabella [Tabella2]...
cosa non funzioni, poi, non siamo in grado dirlo in quanto dovresti fornire ulteriori indicazioni, sia per cosa devi in effetti fare, ed eventualmente anche le eccezioni che ti vengano nel caso sollevate..
saluti

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php
7 messaggi dal 29 giugno 2009
Salve, e grazie per aver risposto ! In effetti prima ho anche aggiunto

"WHERE ID='1'" .. MA NIENTE .. Ora ad esempio ho provato così:

Imports System.Data.OleDb
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim objconn As OleDbConnection
        Dim stringaconn As String
        Dim stringasql As String
        Dim objcomm As OleDbCommand
        stringaconn = "Provider=Microsoft.JET.OLEDB.4.0;Data Source=db.mdb"
        objconn = New OleDbConnection(stringaconn)
        objconn.Open()
        stringasql = "SELECT Password FROM Tabella2 WHERE ID='1'"
        objcomm = New OleDbCommand(stringasql, objconn)
        If TextBox1.Text = stringasql Then
            Me.Hide()
            Form2.Show()
        Else
            MsgBox("Password errata!")
        End If
        objconn.Close()
    End Sub
End Class



Non escono eccezioni ma non funziona. Esce il SmgBox con "Passowrd errata"..

Grazie ancora
1.976 messaggi dal 27 luglio 2005
Contributi
salve,
Marco_The_Pianist ha scritto:
stringasql = "SELECT Password FROM Tabella2 WHERE ID='1'"
objcomm = New OleDbCommand(stringasql, objconn)
If TextBox1.Text = stringasql Then
Me.Hide()
Form2.Show()
Else
MsgBox("Password errata!")
End If
objconn.Close()
End Sub
End Class


il tuo codice definisce un oggetto command ma non mi pare lo esegua..
tu poi verifichi che
stringaSql = textbox1.text
quando questa e' ancora impostata a
stringasql = "SELECT Password FROM Tabella2 WHERE ID='1'"
e direi che il confronto sia sempre negativo...
devi "eseguire" il comando, recuperando ad esempio con objcomm.ExecuteScalar l'eventuale prima colonna della prima riga ritornata dalla proiezione, per poi utilizzare tale valore come desiderato..
saluti

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php
7 messaggi dal 29 giugno 2009
Avrò provato centinaia di volte ma il risultato è sempre lo stesso:

OleDbexception non è stata gestita: Tipi di dati non corrispondenti nell'espressione criterio.



Cosa potrebbe essere ?
Ciao e grazie ancora.
1.976 messaggi dal 27 luglio 2005
Contributi
salve,
Marco_The_Pianist wrote:
Avrò provato centinaia di volte ma il risultato è sempre lo stesso:
OleDbexception non è stata gestita: Tipi di dati non corrispondenti nell'espressione criterio.



Cosa potrebbe essere ?
Ciao e grazie ancora.

Sub Main()
Dim objconn As System.Data.OleDb.OleDbConnection
Dim stringaconn As String
Dim stringasql As String
Dim objcomm As System.Data.OleDb.OleDbCommand
stringaconn = "Provider=Microsoft.JET.OLEDB.4.0 ata
Source=d:\biblio.mdb"
objconn = New System.Data.OleDb.OleDbConnection(stringaconn) objconn.Open()
stringasql = "SELECT Name FROM Publishers WHERE [Company Name] = ""ABC-CLIO"""
objcomm = New System.Data.OleDb.OleDbCommand(stringasql, objconn)
Dim ret As String = objcomm.ExecuteScalar()
Debug.WriteLine(ret)

objcomm.Dispose()
objconn.Dispose()
objcomm = Nothing
objconn = Nothing

End Sub
la variabile ret sara' caricata con il valore della prima colonna della prima riga del result set restituito..
saluti

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php
7 messaggi dal 29 giugno 2009
Ti ringrazio ma l'eccezzione resta. Sempre la stessa
Grazie 1000 per l'aiuto.
1.976 messaggi dal 27 luglio 2005
Contributi
salve,
Marco_The_Pianist wrote:
Ti ringrazio ma l'eccezzione resta. Sempre la stessa  Grazie 1000 per l'aiuto.

se la colonna Id e' di tipo int, allora prova a modificare
stringasql = "SELECT Password FROM Tabella2 WHERE ID='1'"
togliendo gli apici prima e dopo il "numero", quindi
stringasql = "SELECT Password FROM Tabella2 WHERE ID=1"

saluti

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php

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.