rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

[vb.net/sql] insertion de donnée

Doom_aok, le jeudi 25 octobre 2007 à 00:26:32
Bonjour,
je veux inserer des données à partir d'un formulaire windows crée en vb (a l'aide des textbox)

voila mon code

Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.Common.DbCommand

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim con As New SqlConnection

con.ConnectionString = ("data source=.;initial catalog=Commerce;Integrated Security=SSPI")
con.Open()

(**) Dim cmd As New SqlCommand("insert client values"(Me.TextBox1.Text & ", " & Me.TextBox2.Text & ", " & Me.TextBox3.Text & ", " & Me.TextBox4.Text & ", " & Me.TextBox5.Text), con)

Dim affectedrows As Integer = cmd.ExecuteNonQuery()

con.Close()
End Sub
End Class

kan j'execute, j'ai cette exception au niveau de la ligne (**)

"La conversion de la chaîne ", , , , " en type 'Integer' n'est pas valide"
je ne sais pas vraiment ce que je dois faire dans ce cas
j'espere que vous allez m'aider a trouver l'erreur

merci d'avance
Configuration: Windows XP
Firefox 2.0.0.8
Répondre à Doom_aok  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Polux31, le jeudi 25 octobre 2007 à 00:30:41
Bonjour,

Vérifie que les champs de ta table soient du même type de données que tu as dans tes textBox ...
Ca doit venir de là ...

;o)

Polux
Répondre à Polux31

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Doom_aok, le jeudi 25 octobre 2007 à 00:35:51
wi wi c'est ce que j'ai fait mais sans resultats :s
il ya tjr la meme erreur
Répondre à Doom_aok

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Polux31, le jeudi 25 octobre 2007 à 00:41:39
enlève la première double cote entre values et (
Répondre à Polux31

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Polux31, le jeudi 25 octobre 2007 à 00:43:36
(**) Dim cmd As New SqlCommand("insert client values ( " & Me.TextBox1.Text & ", " & Me.TextBox2.Text & ", " & Me.TextBox3.Text & ", " & Me.TextBox4.Text & ", " & Me.TextBox5.Text & ")", con)

voilà la bonne syntaxe

pour être plus lisible, il est préférable de créer une variable string pour la requete :

Dim requete As String

requete = "insert client values ( " & Me.TextBox1.Text & ", " & Me.TextBox2.Text & ", " & Me.TextBox3.Text & ", " & Me.TextBox4.Text & ", " & Me.TextBox5.Text & ")"

Dim cmd As New SqlCommand(requete,con)
Répondre à Polux31

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Doom_aok, le jeudi 25 octobre 2007 à 00:47:41
ca marche tjrs pas :s :s
Répondre à Doom_aok

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Polux31, le jeudi 25 octobre 2007 à 00:50:38
et maintenant ça coince toujours ???
Répondre à Polux31

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Doom_aok, le jeudi 25 octobre 2007 à 00:52:02
c bon j'ai corrigé mais :s:s

il est passé a la ligne suivante (une autre exception)
( Dim affectedrows As Integer = cmd.ExecuteNonQuery() )
et le msg est
(Le nom 'rdf' n'est pas autorisé dans ce contexte. Seules sont autorisées ici des constantes, des expressions ou des variables. Les noms de colonnes ne sont pas autorisés.)
Répondre à Doom_aok

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Polux31, le jeudi 25 octobre 2007 à 01:06:16
je ne connais pas vb.net ... mais ne devrais-tu pas faire :

Dim cmd As SqlCommand = new SqlCommand(requete,con) ??? et idem pour la connexion ?

affectedrows retourne le nombre de lignes affectées ?
Répondre à Polux31

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Doom_aok, le jeudi 25 octobre 2007 à 01:12:46
Dim cmd As SqlCommand = new SqlCommand(requete,con)
ou
Dim cmd As new SqlCommand(requete,con)
c'est le meme resultat

pour affectedrows (c correcte ce que ta dit)mais c juste le nom ke jai donnée a la variable,dailleur je n'ai laisser que

cmd.ExecuteNonQuery()

mais tjr le meme problem :s :s
Répondre à Doom_aok

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Polux31, le jeudi 25 octobre 2007 à 01:20:51
je ne peux pas t'aider sur la syntaxe vb.net. Je peux peut-être t'aider en SQL seulement.

As-tu bien 5 champs dans ta table client hors le champ de la clé primaire ? Si oui, la table client a-t-elle une clé primaire auto-incrémenté ?
Répondre à Polux31

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Doom_aok, le jeudi 25 octobre 2007 à 01:25:05
j'ai 5 champs dans ma table client compris la clé primaire , et qui n'est pas auto-incrémenté
Répondre à Doom_aok

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Polux31, le jeudi 25 octobre 2007 à 01:31:44
Quel est le type de ta clé primaire ?

Tu devrais peut-être récupérer les textBox dans des variables que tu convertis en type selon tes champs de ta base.

Par exemple, si txtBox1 contient la clé primaire et que celle-ci est de type intéger, fait :

Dim sBox1 As Integer = Cint(Me.TextBox1.text)

etc ... ensuite tu passes les variables dans ta requete.
Répondre à Polux31

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Doom_aok, le jeudi 25 octobre 2007 à 01:43:41
j'ai fait ce que tu ma dit
mais ya rien de new :s

je dois me deconnecté pour l'instant

je te remercie bcp bcp bcp pour ton aide polux
je vais te tenir au courant de mon application si tu veux ,surtout de cette erreur là ,si je trouve ou ca cloche..

merci encore
a+
Répondre à Doom_aok

14


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Polux31, le jeudi 25 octobre 2007 à 01:45:57
ok, merci ... je veux bien connaitre la suite ... je ne t'ai pas beaucoup aider sur ce coup ... je vais me mettre au vb.net pour y voir plus clair.

Bonne nuit @++

;o)

Polux
Répondre à Polux31

15


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Doom_aok, le dimanche 28 octobre 2007 à 22:51:15
salut polux :-)

jspr ke ca va :)

voila j'ai trouvé l'erreur que j'avais au niveau de l'ajout

l'erreur été au niveau de la requete : ( " & Me.TextBox1.Text & ", " & Me.TextBox2.Text & ", " & Me.TextBox3.Text & ", " & Me.TextBox4.Text & ", " & Me.TextBox5.Text & ")" (syntaxe fausse)


& Me.TextBox1.Text & ", ' " & Me.TextBox2.Text & " ', ' " & Me.TextBox3.Text & " ', ' " & Me.TextBox4.Text & " ', ' " & Me.TextBox5.Text & " ' ) ", con) (syntaxe correct)

il fallait mettre les simples cotes pour les valeur varchar
c evident n'est ce pas :s mais on a pas fait attention
Répondre à Doom_aok

16


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Polux31, le lundi 29 octobre 2007 à 00:05:32
Salut,

Oui faute d'inattention mais malheureusement courante ... l'erreur vient aussi de moi, je n'ai pas pu tester :os dans un environnement comme SQL Designer, l'erreur aurait été détectée ...

Merci de m'avoir tenu informé ...

Bon courage pour la suite ...

;o)

Polux
Répondre à Polux31

17


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Doom_aok, le lundi 29 octobre 2007 à 00:11:29
:) merci a toi aussi

a+
Répondre à Doom_aok

18


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Polux31, le lundi 29 octobre 2007 à 08:10:48
Bonjour,

N'oublie pas de mettre résolu sur ton post ...

@++

Polux
Répondre à Polux31

19


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
nagnag, le lundi 29 octobre 2007 à 09:33:06
Bonjour POLUX31, c'est nagnag

L'idée est bonne, je peux utiliser :

i = R

Do While i < s
While Not Qr.EOF

If i <> Qr.Fields(0) Then
lstaud.AddItem i
Qr.MovePrevious
End If

Qr.MoveNext
i = i + 1
Wend

Loop

ca marche chez moi mais, je sais pas pour toi, est ce qu'il y a des problèmes à ton avis ?
Répondre à nagnag
Problème avec INSERT INTO (Résolu)Bonjour, Quand j'exécute ma requete SQL via VB Access SQL = "INSERT INTO tb_SauvegardeTemporaire ( [NumOperationTransfert] ) " & _ "VALUES ('test')" DoCmd.RunSQL SQL Un message s'affiche en disant que : "Dès que vous aurez cliqué... www.commentcamarche.net/forum/affich-3274887-probleme-avec-insert-into
Sql server et vb.net en detail (Résolu)salut plus de l' aide sur sql server et vb .net je l'aurais l'année prochaine merçi d'avance et infinement merçi.. www.commentcamarche.net/forum/affich-1653387-sql-server-et-vb-net-en-detail
Créer une base de données Access en vb.net (Résolu)Bonjour, Voila plusieurs dizaines de minutes qu'un truc m'énerve au plus haut point. Je cherche à générer une base de données Access en VB.Net. Un champ devrait avoir la propriété Numéro auto. Et ben malgré plusieurs codes sources que... www.commentcamarche.net/forum/affich-6256676-creer-une-base-de-donnees-access-en-vb-net
[VB.NET] Arrondi 2 décimales (Résolu)Bonjour, j'ai un nombre décimal que je voudrais arrondir à 2 chiffres après la virgule en VB.NET. Je suppose qu'il y a une fonction faite pour cela? www.commentcamarche.net/forum/affich-5903684-vb-net-arrondi-2-decimales
[xml] formualire xml en vb .net? (Résolu)bonjour, est il possible de créer un formulaire xml en vb .net ouvrable par tous méme ce qui n'ont pas de licence vb .net (en excluant le piratage biensur ;)) L'informatique si sa marche c'est qu'il y a un probléme ...[*V]oM{i}T[o*]... www.commentcamarche.net/forum/affich-1291357-xml-formualire-xml-en-vb-net
Aide VB.NET et JAVASCRIPT (Résolu)Coucou ! Je veux savoir si c'est possible d'integrer un peu du JAVASCRIPT dans un programme VB.NET . Comme par exemple lors du survol de la souris sur un bouton ça change la couleur du fond de ce bouton ..... J'attend vos reponses... www.commentcamarche.net/forum/affich-5290752-aide-vb-net-et-javascript
Télécharger Visual Basic ExpressVisual Basic Express 2008 est la version gratuite de Visual Basic 2008, contenant toutes les fonctionnalités de base du logiciel. Parfait pour apprendre ou développer de petits logiciels en VB.Net. www.commentcamarche.net/telecharger/telecharger-34055450-visual-basic-express
Toutes les réponses pour « [vb.net/sql] insertion de donnée »