MySQL et VB.Net

ezyne Messages postés 4 Date d'inscription lundi 29 août 2005 Statut Membre Dernière intervention 29 août 2005 - 29 août 2005 à 18:52
almey Messages postés 48 Date d'inscription samedi 19 avril 2003 Statut Membre Dernière intervention 2 mai 2006 - 18 nov. 2005 à 11:02
Bonjour,

Je suis entrain de créer un programme qui insert des données dans une base de donnée MySQL, le programme est developpé sous Visual Studio 2005 B2.

Et j'ai un problème, tout marche bien sauf que des que je met des caractères speciaux genre ' il veut plus me l'inssérer. Sa doit être le même problème que sous PHP/MySQL ou il faut ajouter addslashes. Donc si quelqu'un connait l'équivalent en VB.Net...

Merci

eZyne

18 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
29 août 2005 à 19:22
Salut,



Pour faire, ce que tu cherches je pense qu'il faut que double les 'single quote'



Autre moyen, c'est les parametres ADO.

Et la, il n'y a pas besoin de double les quotes.
0
ezyne Messages postés 4 Date d'inscription lundi 29 août 2005 Statut Membre Dernière intervention 29 août 2005
29 août 2005 à 19:25
Re,

Oui pour le doublement des ' mais le problème c'est que je prend le contenu des variables du système genre pour avoir le Nom du PC.Donc je peux pas modifier à moins qu'il existe une fonction pour faire sa.

Et le paramêtre ADO... Sa fait meme pas une semaine que je fais du VB.net lol

Merci.
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
29 août 2005 à 19:31
Essaie cela.



Dim d As String = "bonjour'"

d = d.Replace("'", "''")



Mais je conseille les parametres ADO
0
ezyne Messages postés 4 Date d'inscription lundi 29 août 2005 Statut Membre Dernière intervention 29 août 2005
29 août 2005 à 19:39
Re,

Je vien d'essayer sa change rien. Pour ADO ou je pourrais avoir plus d'informations ?

Merci d'avance.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
29 août 2005 à 19:48
'


Me.OdbcInsertCommand1.CommandText = "INSERT INTO [Action] ([num
action], [id partenaire]) VALUES (?, ?)"

Me.OdbcInsertCommand1.Connection = Me.OdbcConnection1


Me.OdbcInsertCommand1.Parameters.Add(New
System.Data.Odbc.OdbcParameter("num_action",
System.Data.Odbc.OdbcType.Double, 0, "num action"))


Me.OdbcInsertCommand1.Parameters.Add(New
System.Data.Odbc.OdbcParameter("id_partenaire",
System.Data.Odbc.OdbcType.Int, 0, "id partenaire"))





Voila comment fonctionne les parametres.

Une solution simple de les faire est de connecter la base dans la liste des serveurs.

Et glisser les tables sur une fenetre.



Le code est genere automatiquement ;-)
0
ezyne Messages postés 4 Date d'inscription lundi 29 août 2005 Statut Membre Dernière intervention 29 août 2005
29 août 2005 à 19:55
Re,

Ok merci mais jai encore un problème j'utilise pas les référence normales pour me connecter à MySQL j'utilise MySQL Connector Net 1.0.4 et donc pas Odbc.

Merci
0
almey Messages postés 48 Date d'inscription samedi 19 avril 2003 Statut Membre Dernière intervention 2 mai 2006
12 oct. 2005 à 12:12
Bonjour, je vois que tu es arrivé à connecter une base de données Mysql à VB .NET.

Je connais la technique avec VB6 ... mais avec VB .NET je n'y arrive pas.



Peut tu me guider pour trouver la technique avec ADO ... ?



Merci

Yelfin
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
12 oct. 2005 à 14:15
Salut



Regardes et tu trouveras la solution surement

Il manque les driver mysql obdc je pense



http://www.codeproject.com/dotnet/mysqlconnexion.asp
0
almey Messages postés 48 Date d'inscription samedi 19 avril 2003 Statut Membre Dernière intervention 2 mai 2006
13 oct. 2005 à 10:34
Merci mais ce n'est pas çà.

J'avais bien installé les drivers nécessaire.



S'agisserait il d'une référence à cocher genre "Microsoft Access Data Object ...." ? dans .NET pour que cela fonctionne ?

Yelfin
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
13 oct. 2005 à 15:35
A non c'est dans les projet VB6 La reference Microsoft Access Data Object

C'est du COM --> Plus lent



Il faut utiliser les references System.data.dll (et la refernce .NET qui est sur la dll installe par le package

ODBC.mYSQL
0
almey Messages postés 48 Date d'inscription samedi 19 avril 2003 Statut Membre Dernière intervention 2 mai 2006
14 oct. 2005 à 19:46
C'était bien ce qu'il me semblait ...

Donc tu me dit qu'il faut que je coche "System.data.dll" ? J'ai installé le package ODBC.mysql ...



:-)

Merci

Yelfin
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
15 oct. 2005 à 15:53
Salut



http://dotnet.developpez.com/faq/asp/vbnet/?page=ado_connexion



Pour tes problemes, je pense qu'avec cela ca sera bon.



system.Data.dll --> Element de base pour les bases de données
0
almey Messages postés 48 Date d'inscription samedi 19 avril 2003 Statut Membre Dernière intervention 2 mai 2006
17 oct. 2005 à 14:16
Décidement, çà ne veut pas ...

L'as tu déjà testé ? Je peut te donner le message d'erreur si çà peut t'aider ...

Yelfin
0
almey Messages postés 48 Date d'inscription samedi 19 avril 2003 Statut Membre Dernière intervention 2 mai 2006
17 nov. 2005 à 16:51
je suis arrivé à faire la connection sans aucun pb maintenant c'est au tour de l'affichage du résultat qui coince.



Public Sub New()





Conn = New ADODB.Connection



Conn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" _


& "SERVEUR=" & BDD_SERVEUR & ";" _


& "DATABASE=" & BDD_BASE & ";" _


& "UID=" & BDD_USER & ";" _


& "PWD=" & BDD_PASSWD & ";" _


& "OPTION=" & 1 + 2 + 8 + 32 + 2048 +
16384
'Ne changer rien pour cette ligne!!



Conn.Open()

Debug.Write("Connection Base de données")





'Base existante, table existante ??

Req = New ADODB.Recordset





Req.Open("SELECT * FROM livre;", Conn)

While (Req.EOF = False)

'Debug.Write(Req.Fields.Item("livre_ref"))

Debug.Write(Req.GetString(0))

'debug.Write(req.g

'MsgBox(Req.Fields.Item(0))



End While



Je me doute bien que l'affichage des résultats n'est pas bon ... mais
je ne sais pas commnent afficher les résultats en mode texte. As-tu une
idée ?

Merci d'avance ....

Yelfin
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
17 nov. 2005 à 18:46
Salut

De 1, n'utilise pas adodb mais ado.net
Les avantages sont tres nombreux et c'est fait pour dotnet
adodb c'est fait pour le monde com
et une perte de temps a encapsulé les commandes dans du com et ...

Pour Ado.net
SQLConnection myConn = new SqlConnection (
"..." );

<cite>// define the command query</cite>
String query = "select CustomerID, CompanyName from Customers";
SqlCommand myCommand = new SqlCommand ( query, myConn );

<cite>// open the connection and instantiate a datareader</cite>
myConn.Open ( );
SqlDataReader myReader = myCommand. ExecuteReader ( );

<cite>// display datareader contents into html table</cite>
<cite>// first open the table and set up the table headers</cite>
html + = "\";
html += \"----
\";
html += \" Customer ID |\";
html + = \"Company Name |\";
html += \"\";

<cite>// loop thru the reader</cite>
while ( myReader.Read ( ) ) {
html += \"----
\";
html += \"" + myReader.GetString ( 0 ) + ", \";
html += \"" + myReader.GetString ( 1 ) + ", \";
html += \"\";
}

<cite>// close the table</cite>
html += "
";

<cite>// close the reader and the connection</cite>
myReader.Close ( );
myConn.Close ( );
}

Les sql devant sqlcommand et les autres variables aavec sql
doivent être renommée.
Avec odbc ou oledb ou un autre prefixe.

et la tu aura du ado.net

Pour des videos de presentations.
tu as sur le site de microsoft france des videos des rencontres base de données.

Mais quitte adodb c'est dépassé

voila
0
almey Messages postés 48 Date d'inscription samedi 19 avril 2003 Statut Membre Dernière intervention 2 mai 2006
17 nov. 2005 à 19:30
Merci pour ta réponse ...

mais je ne travaille pas sur un projet Web ...



C un projet un VB .NET ...

peut tu me présenter aussi la connection ... (chui un peu trop habitué au VB ... ) :-p



Merci par avance
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
17 nov. 2005 à 19:48
Voila

http://dev.mysql.com/tech-resources/articles/dotnet/

Pour le mysql et donet il reste a traduire en francais.
0
almey Messages postés 48 Date d'inscription samedi 19 avril 2003 Statut Membre Dernière intervention 2 mai 2006
18 nov. 2005 à 11:02
Parfait ... Génial ....

Tout fonctionne comme je le souhaite.

Merci bcp.



Si j'ai bien compris, on utilise exactement le même procédé pour un autre projet .NET (qu'il soit orienté Internet ou non) ...

Yelfin
0
Rejoignez-nous