Newsgroup: it.comp.lang.visual-basic
Titolo: Oledb Provider e SQL server

Come faccio a sapere quale versione di OLEDB provider è installato sul 
mio PC, per poter metterlo nella stringa di connessione al database ?
Perchè facendo tutto secondo gli esempi in rete, nei quali appare 
"PROVIDER=Microsoft.Jet.OLEDB.4.0;", non sono sicuro che sia quello 
giusto, perchè il SQL non mi inserisce correttamente i record.
C'entra qualcosa la versione del SQLserver (che è 3.5) ???
Oppure il fatto che si connette è segno che il provider è giusto ?

 Oppure il fatto che si connette ï¿œ segno che il provider ï¿œ giusto ?
La seconda....se ï¿œ connesso significa che c'ï¿œ tutto quello che ci deve 
essere!
Computer analisi....
Bip!...dati insufficienti...definire:
".....SQL non mi inserisce correttamente i record"
Prova ad eseguire:
INSERT INTO tabellaTest(Nome,Cognome,Indirizzo) VALUES ('Paolino 
Paperino', 'MacDuck','Via dei gerani 12')
Che problemi incontri???
-- 
----- Italliaaaaa 3227! -----
Ho visto cose che voi umani non potreste immaginare... navi da 
combattimento in fiamme al largo dei bastioni di Orione. E ho visto i 
raggi B balenare nel buio vicino alle porte di Tannhauser. E tutti quei 
momenti andranno perduti nel tempo come lacrime nella pioggia. ï¿œ tempo 
di morire...
Unitï¿œ NEXUS6 Roy Batty N6MAA10816 Ment.LEV A

fanculo pure Bill Gates che ogni 5-6 anni cambia le regole. l'ADO di 
allora non ha niente a che vedere con ADO .NET eppure lo chiama ADO.
Si legge il 'fucking Manual' e si eseguono gli esempi e non funziona un 
ka§§o. Gli esempi in rete non funzionano.
Niente è chiaro. Tenti TUTTI i consigli che trovi qua e lá in rete e 
prima di arrivare a far funzionare dei comandi SQL su un database Access 
via VB .NET ci vogliono mesi.
Ma scherziamo. E questo sarebbero 'strumenti professionali' ??
Ma di professionale qui non c'è nemmeno la carta su cui sono scritte 
tutte queste fregnacce, che è buona solamente come carta igienica.
Ma veramente.
Sono schifato per tutte le frustrazioni alle quali i professonisti 
dell'informatica sono esposti. Spesso proprio a causa di  case come 
Microsoft, che dovrebbero essere al servizio dei professionisti.
Ti danno miliardi di opzioni, di classi, per fare la stessa cosa, magari 
con una nuance un po' diversa dalla precedente, e ti devi rompere le 
corna a leggere TUTTO (e quando vai ad eseguire ESATTAMENTE gli esempi, 
non funziona un ka§§o !!
ma scherziamo ?
Ma non é ammisisile. Proprio non è ammissibile dover lavorare così.
Non *deve* essere ammissibile !
Immaginatevi voi se in chirurgia si dovesse verificare la stessa cosa 
che nell'informatica.
Là ci sono delle linee guida ben precise, chiare e accessibili per 
tutti. Non è che un chirurgo deve andare in rete ad informarsi di tutte 
le possibili variazioni che esistono dei suoi strumenti, fare un 
esperimento, confrontarlo con quello degli altri.
Ekkeka§§o. Non esisterebbe più un chirurgo. Saremmo tutti morti se la 
chirurgia funzionasse così.
Makkeka§§o si ostina la gente a usare Microsoft Access quando MySQL è 
semplicissimo ! Io non capisco.
Il fatto é che si *deve* usare Microsoft, perchè l'aministrazione di 
tutti gli istituti universitari e tutte le ASL funzionano a Microsoft.
Ma vaffanculo !

"John"  ha scritto nel messaggio news:ivmar9$per$1...@speranza.aioe.org... 
<cut>
Non ho capito il problema.
Sembra uno sfogo per frustrazione dovuta
alla non conoscenza del/dei prodotto/i.
Cosa devi fare da .net verso Access?
---------------------------
Mauro Gamberini
Microsoft MVP - Excel
http://www.riolab.org/
http://www.maurogsc.eu/


Che non funziona un ca§§o !
Sarà mica perchè uso il VB express edition che il nostro Bill mi mette a 
disposizione gratis ?
Potrebbe anche darsi. Ma allora vuol dire che mi devo spendere le notti 
in clinica,  e non mi ci fanno entrare da solo alla notte.

 C'entra qualcosa la versione del SQLserver (che è 3.5) ???
che cosa ci azzeccano nella stessa frase Jet e Sql Server?
.m
-- 
è corta :-)


quando non si trova una soluzione si vanno a cercare anche possibili 
'links' tra cose che non c'entrtano un ca§§o.. Si chiama 'fede in un 
qualcosa (in questo caso il diavolo) di trasccendente che si diverte a 
rompere i coglioni ai programmatori'.

 Ma vaffanculo !
AH AH AH AH !
Beh tutto vero tranne l'assunto iniziale e le conclusioni finali...
Allora...
Parliamo di TECNOLOGIA...non di ANATOMIA o FISIOLOGIA!
Una architettura di un pc è roba che lo dice il nome stesso è 
ASSEMBLATA in uno dei tanti possibili modi!
Non esistono solo architetture INTEL ...non esistono solo sistemi 
operativi Windows...
L'informatica è una branca della tecnologia in rapidissima EVOLUZIONE. 
Evoluzione che la misuri in ANNI non in CENTINAIA DI ANNI se non 
migliaia come invece attiene agli esseri viventi!
Il problema poi diventa PERSONALE:
Nessuno ti vieta di diventare un campione di bocce invece che un 
informatico.
Se vuoi diventare un informatico c'è una unica regola: tenersi 
aggiornato sul proprio ambito di competenze.
Significa che IO (me medesimo) non diventerò mai esperto di C o di 
ORACLE , perchè non ho scelto quegli strumenti di lavoro!
Ma che ho il DOVERE COMMERCIALE di almeno diventare COMPETENTE in 
VB.net e C# e Mysql e SQLite e PHP e Access e XHTML (e altre cose 
ancora) che mi garantiscono lavoro e (aihmè poca...ma la crisi non 
doveva finire???!!!) remunerazione.
Se Microsoft per una serie di PLAUSIBILI ragioni ha deciso di tagliare 
i ponti con il passato un informatico ha 2 strade innanzi a se: 
abbandonare  Microsoft e scegliere altri prodotti (mi viene in mente 
Java di primo botto) oppure aggiornarsi!
Non c'è documentazione in giro???....
AH AH AH AH Va beh è il caldo! Te la passo!
a parte le tonnellate di libri e MSDN
IL SOLITO LINK
http://totemslair.org/guide/vb.php
gratis...scaricabile...chiara e completa per ogni principiante!!!
Non esaurisce l'argomento...ma la classica gestione della biblioteca 
casalinga o della cantina impari a farla!(ed anche qualcosa di più 
sofisticato....guarda il capitolo della reflection e del multi 
threading!)
Quindi non ci sono scuse....te tocca da studià!
Ciao!
p.s.
MICA VERO
la chirurgia adesso per quanto possibile si è evoluta in chirugia 
endoscopica: non ti aprono...ti fanno dei fori ed entrano con sonde 
(talvolta computerizzate)!
e la tac...e la risonanza magnetica?
Con il discorso "conservatore" che fai tu sarebbe impossibile soltanto 
pensarle: si sarebbe ancora alla palpazione manuale o all'odorare 
l'alito come nel 700 ...."tanto il corpo umano è sempre quello!!!"
eh eh eh
T'ho smontato? :D
-- 
----- Italliaaaaa 3227! -----
Quando vedi la tua verità fiorire sulle labbra del tuo nemico, devi 
gioire, perché questo è il segno della vittoria.
(Giorgio Almirante)


No. Mi hai solo fatto fare ua bella risata e ti ringrazio perchè ne 
avevo bisogno.  Ma il problema resta.
E' il destino che io debba rompermi i coglioni con le tesi.
L'ulrtima tesi al Carlo Mondino di Pavia (Semrpe in Neurologia) l'ho 
fatta nel 2005 con VB 6 e rompendomi con ADO.
Adesso, ancora neurologia, mi devo rompere con L'ADO .NET.
C'è un destino che mi perseguita. Deve essere la 'nuvoletta di Fantozzi'
(Essendo a Genova è pertinente)

 Che non funziona un ca§§o !
pfff che palle...sta calmo....
te lo fo per access ...sottomano già fatto c'ho quello....basta 
cambiare la stringa di connessione ed il namespace nei riferimenti per 
un altro DB
codice:
Imports System.Data.OleDb
......
'funzione di connessione...ritorna una connessione aperta o nothing se 
non va bene!
    Friend Function ConnessioneDataBase(ByVal StringaConnessione As 
String) As OleDbConnection
        If StringaConnessione.Length < 1 Then
            Return Nothing
        End If
        Try
            mCon = New OleDbConnection(StringaConnessione)
        Catch ex As Exception
            Return Nothing
        End Try
        Return mCon
    End Function
....
'funzione per una query: Comunichi l'sql e il nome della tabella e ti 
ritorna la tabella caricata con i dati!...o Nothing se fallisce
'Attenzione alla SQLinjection se la usi sul web: è grezza non ha 
controllo sull'sql passato!
    Friend Function CaricaDataTable(ByVal NomeTabella As String, ByVal 
testoSQL As String) As System.Data.DataTable
        Dim dt As System.Data.DataTable
        If NomeTabella.Length > 1 Then
            dt = New System.Data.DataTable(NomeTabella)
        Else
            Return Nothing
        End If
        Dim Con As OleDb.OleDbConnection
        Con = ConnessioneDataBase(mStringaconn)
        If Con Is Nothing Then
            Return Nothing
        End If
        Using Comando As New OleDbCommand(testoSQL, Con)
            Using DR As OleDbDataReader = Comando.ExecuteReader
                dt.Load(DR)
            End Using
            Con.Close()
            Con.Dispose()
        End Using
        Return dt
    End Function
.....
OVVIAMENTE SE NON SAI COSA FAI....
non ti funzionerà nemmeno questo codice che gira tranquillamente(anche 
se è grezzo da far spavento!!!)
-- 
----- Italliaaaaa 3227! -----
Il coraggio ce l'ho. E' la paura che mi frega.
(Totò)


evo semplicemente fare ttto quello che si puo' fare su un database : 
leggerlo, fare dei query SQL.
Quello che vorrei fare però, che a me preme molto, è di poterlo 
'scrollare' a piacimento, con delle freccette apposite, su una GUI fatta 
DA ME, e non i nun DatagridView.
Insomma voglio il 'controllo totale' sul database, e ADO .NET, 
dichiaratamente, NON ME LO DA. (perchè mi permette solo di agire su un 
'Dataset'.
'scrollare' vuol dire avere a disposizione funzioni come 'movetofirst', 
'move forward' 'move backward'.
Addirittura vorrei poter fare un 'INSERT' senza usare l'SQL, ed un 
delete anche.
Insomma funzioni 'BASILARI' che ai miei tempi si potevano fare 
facilmente in un batter d'occhio.

zac
Beh saresti autorizzato a ringraziare...a bere una camomilla fredda! 
ANdare al bar a prenderti un bitter gelato!
Poi farti di carboidrati, fare una pennica, accendere il ventilatore...
e solo a questo punto cominciare a leggere il testo!
Poi...fra qualche giorno...colmo di vergogna per aver fatto una figura 
di merda colossale su una cosa semplice come fare una INSERT su un DB 
Access....potresti invitarci a Genova a mangiare un po di pesto!
Una persona (informatico o meno) intelligente farebbe questo....
poi vedi tu!
;-) lol
-- 
----- Italliaaaaa 3227! -----
Ci sono cattivi esploratori che pensano che non ci siano terre dove 
approdare solo perché non riescono a vedere altro che mare attorno a 
sé.
(Francesco Bacone)

Dopo dura riflessione, John ha scritto :

Anche oggi, proprio le stesse cose che dici tu.
Però magari con comandi diversi.
Ma mica puoi pensare che il mondo si congeli e tutto resti uguale a se 
stesso.
In qualunque professione, ci si deve mantenere aggiornati, altrimenti 
si è dei cioccapiatti.
Pensi che gli idraulici oggi facciano le stesse cose di venti anni fa?
Sè, prova a vedere le caldaie e le centraline di oggi, altro che 
programmatori a cavalieri e valvole a tre vie con la levona manuale, tu 
programmi dalla centralina anche i peli del culo dell'ultimo 
termosifone. Non vuoi imparare e vuoi proseguire a fare gli impianti 
come venti anni fa? Ok, rifilerai delle truffe ai tuoi clienti che si 
fidano di te ma avranno roba vecchia, inefficiente e di difficile 
manutenzione in futuro, finchè un giorno qualcuno ti manderà a cagare e 
piano piano sarai sul lastrico. E cambierai mestiere.
E gli elettricisti?
Pensi che si facciano ancora solo impianti con interruttori e 
deviatori? Ma figurati, oramai con la domotica tu cabli tutto 
'standard' e poi lavori solo di programmazione. Non vuoi imparare e 
vuoi proseguire a fare gli impianti come venti anni fa? Bene, farai la 
fine dell'idraulico di prima e cambierai mestiere.
Perfino gli impiegati statali, che tutti portano come esempio di 
immobilismo e inefficienza, hanno imparato ad usare l'informatica per 
il loro lavoro, passando da libroni coi timbri a software moderni.
E tu vorresti lavorare nell'informatica con le preclusioni mentali che 
hai esposto?
Beh, credimi, qui ne va dell'intera categoria. Perchè un software 
scritto come piacerebbe a te, funzionerebbe oggi, forse domani, ma 
sicuramente non dopodomani, quando il cliente applicherà una qualche 
policy o un qualche aggiornamento che la tua 'tecnologia' non è in 
grado di gestire. Al che il cliente sai cosa pensa?
Pensa "tutte merde questi software, tutti imbroglioni questi 
sviluppatori, era meglio prima con la carta!", e a prenderla nel culo 
saranno tutti quelli che di informatica vivono.
Alberto

 
http://www.connectionstrings.com/
Questo sito puï¿œ darti una mano perï¿œ almeno le conoscenze di base della 
tecnologia che vai ad utilizzare dovresti conoscerle :)

 rompere i coglioni ai programmatori'.
Come ti dicevo nell'altro link basterebbe almeno una conoscenza di base 
delle tecnologie che usi per capire almeno dove andare a documentarsi e 
come :)


Grazie Wodka, ma piuttosto, affinche`i tuoi sforzi abbiano un senso, 
dammi solo alcune delucidazioni, perchè in sostanza, quello che hai 
scritto tu, è quello che ho già fatto io.
Allora
- perchè hai dato l'attributo Friend alla funzione ?
- cosa vuol dire Catch ex as exception ? io uso catch e basta
- perchè é necessario fare il Load del reader ? Io non lo faccio e per 
la lista mi funziona benissimo.
- Perché é necessario con.dispose, non è sufficiente con.close ?
manca un esempio di cmd.executenonquery, che è quello che non mi funziona.


  sì, lo so. E' facile dare l'impressione che non si sa un ca§§o 
sull'argomento, quando zio Bill decide di cambiare le carte in tavola 
periodicamente...


Ho letto tutti i libri che ho in casa, mi sono scaricato almeno 40 
esempi in rete, in alcuni casi per trovare che erano obsoleti o VB6.
Le ho provate tutte.
Ora vedo se i feedback di qui mi portano a risolvere il problema.
  Evidentzemente c'È un qualcosa che non va, ma non so esattamente 
'dove' e devo scoprirlo.
Intanbto è stabilito che i miei statements sono ESATTAMENTE quelli 
canonici, suggeriti anche qui.


l'avevo giá fatto una volta e non siete venuti... :-)))

Il Thu, 14 Jul 2011 10:54:00 +0200, John ha scritto:
[cut]
Dim cn As New
System.Data.Odbc.OdbcConnection("DBQ=mydb.mdb;Driver={Microsoft Access
Driver (*.mdb)}")
Dim cm As New System.Data.Odbc.OdbcCommand("select * from mytable", cn)
Dim da As New System.Data.Odbc.OdbcDataAdapter(cm)
Dim ds As New DataSet
da.Fill(ds)
For Each dr As DataRow In ds.Tables(0).Rows
	MsgBox(dr.Item("myfield"))
Next
PaF

 manca un esempio di cmd.executenonquery, che ï¿œ quello che non mi funziona.
Che bischerata non ï¿œ che ti stai confondendo no?
CITO UN POST
"Il metodo ExecuteNonQuery esegue statement di UPDATE, INSERT e DELETE, 
restituendo il numero di record aggiornati, inseriti o eliminati. Nel 
caso di una SELECT, non si ha nessuno di questi casi.
Per eseguire istruzioni di SELECT, che restituiscono quindi un 
"resultset", occorre utilizzare ExecuteReader ottenendo un cursore in 
grado di scandire i record che rispondono alla query dal primo 
all'ultimo.
Nel caso di un semplice conteggio, ï¿œ ancora meglio utilizzare il metodo 
ExecuteScalar, che restituisce il valore del primo campo del primo 
record dei risultati ottenuti; in questo caso, trattandosi di un solo 
record formato da un solo campo che ï¿œ il conteggio dei record 
selezionati, ï¿œ perfetto.
"
quindi fatti un command....e poi scatena executenonquery...fa tutto da 
se!
E' OVVIO e fondamentale.....LA QUERY SQL deve essere corretta 
formalmente per quel DB!!!
-- 
----- Italliaaaaa 3227! -----
Era Cecco, il figlio del fornaio; era un orribile butterato napoletano, 
col culo molto basso ed un alito agghiacciante tipo fogna di Calcutta.
(Fantozzi)


grazie PaF, ma il mio problema è molto più circoscritto.
Sono riuscito in pochi minuti a connettermi correttamente al file (salvo 
poi disconnettermi quando ho sperimentato la connessione SQLClient).
- Sono connesso con Provider "Microsoft.Jet.OLEDB.4.0"
- uso il reader = cmd.ExecuteReader con la dovuta stringhe SQL e faccio 
un "SELECT * from Tbl_Anagrafica" che mi funziona perfettamente
- quando invece uso cmd.ExecuteNonQuery NON MI FUNZIONA. Nella stringa 
query metto un comando INSERT inmodo corretto :
cmd = New OleDbCommand("INSERT into Tbl_Anagrafica(Nome)  Values('Ciccio 
Formaggio') SELECT @@IDENTITY", conn)
dopodichè il
  iret = cmd.ExecuteNonQuery()
non mi funziona.
Non dice niente. Il valore Iret è = 0. Cioè significa che non ha scritto 
nessun record.
Infatti, se controllo la tabella non é stato inserito niente.
Tutto qui. Ma è abbastanza da far incazzare chiunque.
Ora i dubbi sono :
- se il problema deriva dal fatto che io uso VB Express edition.  Per 
verificare ciò dovrei comprarmi una versione ufficiale di VB .NET.
- altri motivi che ancora non so.


e qui casca l'asino. vedi il mio post a PaF.

 Correva il 14/07/2011 e rincorrendolo John scriveva:
ho sotto mano un esempio....funzionante....
legge i dati tramite un orribile ODBC da Filemaker....e li tratta per 
inserirli,oppurtanamente modificati, in MySQL
.......
        Dim T As System.Data.DataTable
        Dim ttsql As New StringBuilder
        Dim ris As Integer = 0
'Tutto avviene collegandomi a MySQL....la stringa di connessione è 
nelle risorse del progetto
        Using cnmysql As New 
MySql.Data.MySqlClient.MySqlConnection(My.Settings.mySQL_dbrtc)
            If cnmysql.State = ConnectionState.Closed Then
                cnmysql.Open()
            End If
            ttsql.AppendLine("INSERT INTO `dbrtc`.`supporto` (")
            ttsql.AppendLine("`archivior` ,")
            ttsql.AppendLine("`autore` ,")
           .....zac Lunghissimo tanti campi....
            ttsql.AppendLine("VALUES")
            ttsql.AppendLine("(")
            With ttsql
                .AppendLine("?archivior ,")
                .AppendLine("?autore ,")
                .....zac Tanti campi...
            End With
            ttsql.AppendLine(");")
            'Tipo Parametri
            Dim myCmd As New MySql.Data.MySqlClient.MySqlCommand
            With myCmd
                .Parameters.Add("?archivior", 
MySql.Data.MySqlClient.MySqlDbType.Text)
                .Parameters.Add("?autore", 
MySql.Data.MySqlClient.MySqlDbType.Text)
                .....sempre tanti campi
            End With
            myCmd.Connection = cnmysql
            myCmd.CommandText = ttsql.ToString
'QUI LEGGE I DATI DA UN ALTRO DATABASE: l'orribile FileMaker via ODBC
            Using con As New OdbcConnection(My.Settings.GAMconnessione)
                If con.State = Data.ConnectionState.Closed Then
                    con.Open()
                End If
                Dim sql As String
                sql = "SELECT * From SupportoAudio"
                Dim C As New OdbcCommand(sql, con)
                Using R As OdbcDataReader = C.ExecuteReader
                    Dim CONTA As Integer = 0
'CICLO SUI DATI DEL DB CIOFECA
                    While R.Read()
                        CONTA += 1
                        With myCmd
                            .Parameters("?archivior").Value = 
IIf(R("ARCHIVIO_R") Is DBNull.Value, DirectCast("", String), 
R("ARCHIVIO_R"))
                            .Parameters("?autore").Value = 
IIf(R("AUTORE") Is DBNull.Value, DirectCast("", String), R("AUTORE"))
....tantissimi campi
                        End With
'*********************************ECCOLO QUA
                        myCmd.ExecuteNonQuery()
'************************************************
                    End While
                    R.Close()
                End Using
                con.Close()
            End Using
        End Using
.......
TRADOTTO TERRA TERRA Tutto questo ambarandan
1) connetti il database
2) Crea un command
2bis) Utilizza i parametri per rendere flessibile l'sql del command 
(che palle scrivere sempre "
-- 
----- Italliaaaaa 3227! -----
Io sono Attila:
A come atrocità,
doppia T come terremoto e tragedia,
I come ira di dio,
L come laco ti sangue
e A come adesso vengo e ti sfascio le corna!
(Diego Abatantuono "Attila Flagello di Dio")


NO!Non c'emtra nulla express o non express!!!!
posta sto cazzo di codice....e posta sto cazzo di nome di 
database....ma lo fai su access o su sqlserver?
PERO' PRIMA
....se lo fai su SQLserver.....SAPPI CHE
è lecito avere più comandi nella medesima query (in ACCESS NO!)
ma DEVI separarli con il ;
io il ; non lo vedo!
 .....e se poi ti funziona fammi il piacere
....stacca tutto e ripassa domani eh!!!!!
Che mi stai attaccando la tua incazzatura!
-- 
----- Italliaaaaa 3227! -----



Domanda : che VB .NET usi ? VB express o Visual Studio professional ?


l'ho postato, dottò.  guarda il mio post a PaF


eccotelo dotto' :
------
Private Sub bInsert_Click(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles bInsert.Click
         Dim iret As Integer
         Try
             conn = New OleDbConnection(conns)
             conn.Open()
             RTB1.AppendText("connected to Database = " & LF & conns & 
LF & LF)
             cmd = New OleDbCommand("INSERT into Tbl_Anagrafica(Nome) 
Values('Ciccio Formaggio') SELECT @@IDENTITY", conn)
             iret = cmd.ExecuteNonQuery()
         Catch
         End Try
         conn.Close()
         RTB1.AppendText(LF & "record Inserted return code = " & 
Str(iret) & LF)
     End Sub
-------
come vedi è un piccolo test iniziale, per vedere se tutto funziona.
Questo codice è in un 'button'.


Ahh...dimenticavo :
nel Form_Load c'è :
---
         dbProvider = "PROVIDER=Microsoft.Jet.OLEDB.4.0;"
         dbSource = "Data Source = neurofisio_db.mdb"
         conns = dbProvider & dbSource
----

zac
io non ho parole.....
secondo te ...analizza il tuo pensiero(è utile talvolta che tu lo 
faccia).....
PERCHE' c'è il try catch?
perchè tu vuoi intercettare qualche errore?
si!....ma non intercetti nulla!
In pratica così come è fatto il codice dici a NET "Io ti sparo una 
query...se và...và! Altrimenti fà finta di nulla che ho da rompere i 
coglioni al ng ICLVB!"
QUINDI
togli il try catch
e riesegui
Comparirirà uno o più errori che ti diranno cosa davvero non và nel tuo 
codice!!!
hai presente il vecchio vb6
ON ERROR RESUME NEXT
e quante volte ci faceva incazzare con i niubbi????
In pratica hai messo il clone NET
-- 
----- Italliaaaaa 3227! -----
Ti prego, ti prego, non ci uccidere. Ti prego baby, lo sai che ti amo. 
Non avrei mai voluto lasciarti, non è stata colpa mia. Davvero, sono 
sincero. Quel giorno finì la benzina. Si bucò un pneumatico. Non avevo 
i soldi per il taxi! Il mio smoking non era arrivato in tempo dalla 
tintoria! Era venuto a trovarmi da lontano un amico che non vedevo da 
anni! Qualcuno mi rubò la macchina! Ci fu un terremoto! Una tremenda 
inondazione! Un'invasione di cavallette!
John Belushi [da "Blues Brothers"]

 
E la seconda select su chi la fai? :D

 ha scritto:

Il Linguaggio è uguale non cambia così come il framework (diversamente è l'ide 
con i vari tool)

 
Calmati che sei anziano e certe nervature potrebbero farti male :D 

Ha detto: Loganino
Il giorno: giovedì, 14/07/2011

su sua zia!
-- 
----- Italliaaaaa 3227! -----
Ho trovato una città di mattoni, ve la restituisco di marmo.
(Imperatore Augusto da Epistole)


Ho tolto il try e catch. L'ho eseguito. E' esattamente come prima. Non 
mi da errori e non funziona.
Lo giuro sul vangelo.


la seconda non è un SELECT è un INSERT.

 ha scritto:

Ehm...la seconda è una SELECT, te ha scritto questo (estrapolo):
("INSERT into Tbl_Anagrafica(Nome) 
Values('Ciccio Formaggio') SELECT @@IDENTITY", ....
Non noti qualcosa di strano? :) 

 Non noti qualcosa di strano? :) 
La prima cosa che noto ï¿œ quel @@Identity.
Che in determinati casi va bene usare quello, ma a me viene da pensare 
che l'OP intendesse in realtï¿œ utilizzare scope_identity()
Alberto

 
SCOPE_IDENTITY non è supportato in Accesso ma in SQl Server :) per il resto è 
come dici te, è preferibile sempre usare la SCOPE.

 
Precisando che ho letto nei suoi post che si connetteva ad una fonte Access  
anche se il titolo di questo post è fuoriviante. 
Sinceramente non ho capito al 100% a cosa sta cercando di collegarsi :D


quella l'ho aggiunta dopo. Secondo la mia 'bibbia' doveva ritornarmi il 
numero di record dato al nuovo record in caso che sia uno dato 
automaticamente. Almeno così spiegava.

 ha scritto:

In ogni caso devi aggiungergli la clausola FROM.
Inoltre te stai eseguendo una ExecuteNoQuery, se levi la SELECT e lasci solo 
la INSERT, cosa ti ritorna la chiamata al metodo? :)


Sto cercando di connettermi ad un database Access. (.mdb)
La connesisone va bene. Infatti il select * che mi fa la lista va benisismo.
Quello che ho postato è il contenuto del button 'insert' che è quello 
che mi da problemi.
Ora ho trovato un errore sul file (leggi mio post precedente) e vado a 
fare altri test con un  file di test fatto da me.

 SCOPE_IDENTITY non è supportato in Accesso ma in SQl Server
E allora cosa c'entra il subject del thread?
Mah, che gente...
Alberto

 
Ha fatto un po' di confusione :D

 - altri motivi che ancora non so.
Nella mia azienda, il primo dipendente che sbotta maledicendo un bug 
dell'ambiente, viene messo sul taccuino del primo da lasciare a casa 
alla prima occasione.
Non per incompetenza o incapacità, ma perchè nel 99.99% dei casi il bug 
è nel software, o al limite nel fatto che il software non sia in grado 
di gestire qualche strana combinazione di sistema operativo e/o rete 
(e, quindi, il bug è di nuovo nel software, che dovrebbe eventualmente 
segnalare l'incompatibilità anzichè crashare o 'tirare dritto').
Un approccio, invece, di quel genere dimostra supponenza e mancanza di 
quella che è la prima dote di un informatico, ossia l'umiltà e la 
tenacia.
Alberto

 Alberto
.m
-- 
è corta :-)

 alla prima occasione.
Se nella tua azienda si sviluppasse con 
asp.net
, utilizzando user controls
che - bug riconosciuto di Visual Studio 2008 e non risolto nella SP1 - non
si visualizzano correttamente, al posto del taccuino ci sarebbe la Treccani
:-)
Ricordiamoci che stiamo pur sempre parlando di Microsoft...
PaF

 Ricordiamoci che stiamo pur sempre parlando di Microsoft...
Una cosa non si può negare di Microsoft, a prescindere da quello che si 
pensa: non manca documentazione, sia ufficiale sia 'alternativa', così 
come non mancano forum, newsgroup, siti di esempi e didattici.
Come scritto in passato, abbiamo intrapreso con soddisfazione la strada 
del light-client, ossia i client .Net sono mere interfacce 
uomo-macchina che eseguono ciò che viene detto loro dal database 
server, più una parte di logica standard ed universale per il caching 
in caso di caduta di rete.
Quindi il 90% del nostro lavoro si svolge sul dbms, sia per quanto 
riguarda i dati veri e propri sia per quanto riguarda l'interattività 
sui device.
Ebbene, io che oramai non sviluppo più niente se non lato dbms, secondo 
te cosa continuo a fare su questo NG?
Aggiornamento sul campo. In modalità molto lurker, a dire il vero, ma 
sempre aggiornamento.
Quindi è molto raro che si incappi in un bug non noto.
Giusto quando si esplora, ossia si inizia a navigare in tecnologie o 
soluzioni così 'nuove' che ancora non si trova molto sul web...
Alberto

 Nella mia azienda, il primo dipendente che sbotta maledicendo un bug dell'ambiente, viene messo sul taccuino del primo da lasciare a casa alla prima occasione.
Insomma. Questo è vero ma solo in parte.
Fidati che tra sviluppo in Asp.NET su VS2008 e sviluppo WPF su VS2010, di bug ne abbiamo trovati a bizzeffe.
Guarda caso, cercando nei forum gli stessi bug dell'ambiente sono riscontrati da molte altre persone.
Che poi, uno che si lamenta a causa della sua incompetenza, da noi verrebbe licenziato dopo 2 giorni, su questo non ci passa.
Nicola

 
Se non ti sei aggiornato ad ADO.Net negli ultimi 8 anni, il problema è tuo, non di MS.
8 anni per l'informatica sono eoni. Pensa, 8 anni fa non esisteva iPhone, non esisteva l'UMTS, i dual core erano prerogativa (costosissima) dei server e Windows XP riceveva il primo Service Pack.
Nicola

 'by design' nota.
Quella del "by design" è una scusa che ogni programmatore beccato in
castagna con qualche baco evitabile usa come giustificazione :-)
PaF

 Che poi, uno che si lamenta a causa della sua incompetenza, da noi verrebbe licenziato dopo 2 giorni, su questo non ci passa.
Quoto.
Essendo titolare della mia societą mi licenzierei da solo :-P
PaF

 
SEI LICENZIATOOOOH!!!! :D
 ihhiihhi

 castagna con qualche baco evitabile usa come giustificazione :-)
Esatto, è quello che dicevo io.
Una limitazione di una tecnologia è una limitazione, che sia by-design 
(davvero), che sia by-design (come scusa), o che sia un bug.
Comunque sia la colpa non è del bug, ma dell'insufficiente 
esperienza/informazione/documentazione/aggiornamento dello 
sviluppatore.
Per cui, il bug non è mai ammissibile come scusa, salvo rarissimissimi 
casi.
Alberto

Ma vaffanculo !
Esatto, vuoi esserci mandato via ODBC, DAO,  ADO,  
ADO.NET
,  SOAP, Remoting 
o WCF? :-)

non mi funziona.
E te lo domandi pure perchč non funziona?