Newsgroup: it.comp.lang.visual-basic
Titolo: Insert into con componente ADODC

Ho una tabella mobili vendita da un database MySql e un componente
ADODC che ho chiamato inserisci.....
La mia query è questa:
If Option1.Value = True Then
insert.RecordSource = "insert into mobili_vendita values ('" &
Text1.Text & "'" & ",'" & Text2.Text & "','" & Combo1.Text & "','" &
Combo2.Text & "','" & Mask1.Text & "','" & Mask2.Text & "','" &
Mask3.Text & "','" & MaSK4.Text & "','" & Combo3.Text & "','" &
Text7.Text & "')"
insert.Refresh
Mi dice che l'operazione non è consentita se l'oggetto o chiuso....se
invece faccio cosi:
insert.RecordSource = "insert into mobili_vendita
values............(bla bla)
Insert.Recordset.Open
dice che devo indicare dei parametri....come posso fare?
aiutatemi sono nei casini!

 dice che devo indicare dei parametri....come posso fare?
Io saro` pedante, ma preferisco scrivere sempre anche i
nomi dei campi che valorizzo:
INSERT INTO tabella
(campo1, campo2, campo3)
VALUES (..., ..., ...)
In questo modo se manca qualcosa oppure se c'e` tutto, ma
nell'ordine sbagliato, te ne accorgi subito.
-- 
ciao, hal

Si questo lo so....ma siccome sono un programmatore delphi....e un
programmatore VB da appena 10 ore volevo partire prima facendo inserire
nel DB qualcosa....e poi controllarne l'integrità dei dati......non
riesco....
Volevo sapere perchè non riesco a fare questa cavolo di Insert e con
lo select questo codice funziona.....boh...
Aspetto tue risposte hal........o anche di qualcun altro

 Aspetto tue risposte hal........o anche di qualcun altro
intanto prova a costruire la INSERT come ti ho detto
e poi, se possibile, non usare l'ADODC:  non e` come
quei bei componentini di delphi, purtroppo.
-- 
ciao, hal

Come posso gestire un database MySql senza ADODC? ci sono altri
componenti? Dove li trovo?
seguirò comunque il tuo consiglio! Grazie hal

 componenti? Dove li trovo?
di fatto ti conviene usare direttamente gli oggetti non visuali
Connection, Command e Recordset della libreria ADODB:
scrivi un pelino di piu` (ma neanche tanto) e ti semplifichi
la vita.
-- 
ciao, hal

Come posso gestire un database MySql senza ADODC?
Direttamente tramite gli oggetti Recordset e Command di ADO. Io, visto
ADODC, ho deciso fin da subito di non usarlo, e in nessuna delle mie
applicazioni è impiegato.
--
Ciao!
Luca Menegotto

 ha scritto nel messaggio news:1118181881.6...@g43g2000cwa.googlegroups.com...
Ho una tabella mobili vendita da un database MySql e un componente
ADODC che ho chiamato inserisci.....
La mia query č questa:
If Option1.Value = True Then
insert.RecordSource = "insert into mobili_vendita values ('" &
Text1.Text & "'" & ",'" & Text2.Text & "','" & Combo1.Text & "','" &
Combo2.Text & "','" & Mask1.Text & "','" & Mask2.Text & "','" &
Mask3.Text & "','" & MaSK4.Text & "','" & Combo3.Text & "','" &
Text7.Text & "')"
insert.Refresh
Mi dice che l'operazione non č consentita se l'oggetto o chiuso....se
invece faccio cosi:
insert.RecordSource = "insert into mobili_vendita
values............(bla bla)
Insert.Recordset.Open
dice che devo indicare dei parametri....come posso fare?
aiutatemi sono nei casini!
chissa' se ciccillo e' il suo vero nome!?

 ha scritto nel messaggio news:42a6c4d7$1...@news.unimib.it...

il msg di ciccillo non me l'ha quotato correttamente,
allora e' proprio un ciccillo!

 La mia query è questa:
Io lavoro sempre con il minimo indispensabile:
Dim Db As New ADODB.Connection
Dim Rs As New ADODB.Recordset
    Db.ConnectionString =
"driver={mysql};server=192.168.2.107;db=nome_db;user=nome_utente;password=password_utente;"
    Call Db.Open
    'Se hai bisogno del recordset ... (SELECT)
    Call Rs.Open(Query, Db, adOpenKeyset, adLockPessimistic)
    'Se devi inserire, modificare, cancellare i dati
(INSERT,UPDATE,DELETE)
    'puoi scrivere direttamente
    ' db.execute(stringa_sql)
    Call db.close
 
Prova ad inserire il tuo codice SQL e vedi se funziona

Mitico....Grazie! Funziona......hai risolto tutti i miei
problemi....quasi.....un'altra cosa....
Vorrei poter impostare Nome utente e password e server di posta per
Outlook 2003 da VB come posso fare....per la visualizzazione utilizzo
il viewctl.....grazie.....se prenderò un buon voto all'esame di
maturità sarà anche grazie a te!
Ciao da Francesco

 maturità sarà anche grazie a te!
Figurati, per così poco ...
-- 
Ciao,
 Fabrizio
=== 
http://www.negusweb.it
 ===

Ciao Fabrì......aimè devo ritornare sui miei passi....ha inserito
qualche record...
poi sono caduto nello sconforto......
ho scritto questo:
Dim Db As New ADODB.Connection
Dim Rs As New ADODB.Recordset
 Db.ConnectionString =
"driver={MySQL ODBC 3.51 Driver
};server=localhost;db=mobilficio_carbotti;user=root;password=;­"
Query = "Select * from mobili_vendita where id_mobile ='" & text1.text
&"'"
Call Rs.Open(Query, Db, adOpenKeyset, adLockPessimistic)
if rs.Recordcount > 0 then
MsgBox "Attenzione Violazione di chiava, ritentare
l'inserimento",vbInformation
else
db.execute(stringa_sql)
end if
mi dice che il nome del database non è valido....però ho fatto una
cosa, siccome il la sorgente del driver ODBC l'ho installata ome driver
di sistema ho provato ad installarla come driver utente e chiudendo
visual basic non mi da problemi e non dice niente....mi fa casino
perchè dice che il nome dell'orogine dei dati non è trovato e driver
predefinito non specificato.....aspetto risposte.....ciao e grazie
ancora

 ancora
Il problema è che tu hai specificato solo la tabella "mobili_vendita", ma
non il database di appartenenza.
Ti ricordo la sintassi: <database>.<tabella>


conn.ConnectionString = "driver={MySQL ODBC 3.51 Driver
};server=localhost;db=mobilficio_carbotti;user=root;password=;­"
conn.CursorLocation = adUseClient
conn.Open <---------- IL PRBLEMA LO SEGNALA QUI
sempre per il fatto che non trova la sorgente dei dati retype me asap

 sempre per il fatto che non trova la sorgente dei dati retype me asap
Potresti scrivere l'errore per esteso ?

[Microsoft][Driver Manager ODBC] Nome origine dati non trovato e driver
predefinito non specificato

La stringa di connessione è nel messaggio di prima.....vorrei che
questo problema si risolvesse.....devo fare un database per il mio
esame di stato e sono nei casini più completi....non so come fare mi
stà cadendo uno sconforto incredibile.....

dankeitalia ha scritto:

Hai provato, eventualmente, a reinstallare il driver ?

no...adesso provo......

Nulla la stessa cosa.....non so cosa fare ora.....ci sono altri
componenti per l'accesso ai DB........
p.s.:Il fatto che ho Xp Home edition centra qualcosa?

dankeitalia wrote:

Prova a mandarmi il codice via email ... vediamo se ci sono problemi nel
sorgente.


Ti ho mandato un file *.zip sull'email: 
ne...@negusweb.it
e sempre su quella mail anche il Dump del mio Database.
Grazie per l'interessamento.
Ciao Fabrizio

 Ti ho mandato un file *.zip sull'email: 
ne...@negusweb.it
                                          ^^^^^^^^^^^^^^^^
ne...@negusweb.it


 };server=localhost;db=mobilficio_carbotti;user=root;password=;­"
Ho aperto i sorgenti che mi hai mandato e la ConnectionString era scritta:
conn.ConnectionString = "driver = { MySQL ODBC 3.51 Drive ...  (errata)
                               ^^^^^
Praticamente hai aggiunto degli spazi che NON ci devono essere.
La connection string dev'essere scritta:
conn.ConnectionString = "driver={MySQL ODBC 3.51 Drive ...  (giusta)
Ok?


Grazie Fabrizio, tutto funziona correttamente, ti ringrazio per la
pazienza che hai avuto!
A presto, Grazie ancora!

dankeitalia wrote:

Pero' il dubbio degli spazi ti doveva venire!!!
Infatti se il codice appena copiato/incollato funzionava e poi, aggiunti gli
spazi, non funziona più ... un minimo di dubbio!
Ciao! :-D
