Nouvel enregistrement

cretthie Messages postés 133 Date d'inscription mercredi 27 juin 2012 Statut Membre Dernière intervention 10 janvier 2012 - 14 janv. 2007 à 17:00
cretthie Messages postés 133 Date d'inscription mercredi 27 juin 2012 Statut Membre Dernière intervention 10 janvier 2012 - 1 févr. 2007 à 21:33
bonjour tout le monde

Je suis en train de developper une petit application et je rencontre quelques problemes.

j'essaye de creer un nouvel enregistrement dans ma base de donne depuis mon controle utilisateur et a chaque fois, il y a des erreur.

Je commence a desesperer. je vous remercie d'avance pour l'aide que vous pourrez m'apporter.

je travaille depuis un cybercafe et c'est pas facile de faire  l'aller retour a chaque fois.

donc, voila mon code, ma procedure et mon message d'erreur :

----------------------        Try<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>

            Me.m_connexion.Open()

        Catch ex As Exception

            MsgBox("connexion impossible")

        End Try

 

        Dim myDataSet As New DataSet()

 

        Dim commandAdapter As New SqlDataAdapter

 
        Dim SQL As String "Select * From Client where idClient0"

        commandAdapter = New SqlDataAdapter(SQL, m_connexion)

        commandAdapter.Fill(myDataSet, "client")

        Dim myCommand As SqlCommand

        myCommand = New SqlCommand("Client_insert", m_connexion)

        Dim param As SqlParameterCollection = myCommand.Parameters

        param.Add("@nomClient", SqlDbType.NVarChar, 50, "nomClient")

        param.Add("@rue1Client", SqlDbType.NVarChar, 50, "rue1Client")

        param.Add("@rue2Client", SqlDbType.NVarChar, 50, "rue2Client")

        param.Add("@napClient", SqlDbType.Int, 4, "napClient")

        param.Add("@localiteClient", SqlDbType.NVarChar, 50, "localiteClient")

 

        Dim OutputParam As SqlParameter

        OutputParam = New SqlParameter("@idClient", SqlDbType.Int, 4)

        OutputParam.Direction = ParameterDirection.Output

        param.Add(OutputParam)

 

        Dim myDataRow = myDataSet.Tables("client").NewRow()

        myDataRow("nomClient") = nomClient.Text

        myDataRow("rue1Client") = rue1Client.Text

        myDataRow("rue2Client") = rue2Client.Text

        myDataRow("napClient") = napClient.Text

        myDataRow("localiteClient") = localiteClient.Text

        'MsgBox(OutputParam.Value)

        myDataSet.Tables("client").Rows.Add(myDataRow)

 

        commandAdapter.Update(myDataSet, "client")

        'MsgBox(OutputParam.Value)

        Me.m_connexion.Close()

 

 

message : ----------------

sur myDataSet.Tables("client").Rows.Add(myDataRow)

 

Impossible d'effectuer un cast d'un objet de type 'System.Data.DataRow' en type 'System.IConvertible'.Impossible de stocker <System.Data.DataRow> dans la colonne idClient. Type attendu est Int32.

 

procedure :---------------------------

 

ALTER PROCEDURE [dbo].[client_INSERT]

(

      @nomClient INT,

      @rue1Client nvarchar(50),

      @rue2Client nvarchar(50),

      @napClient int,

      @localiteClient nvarchar(50),

      @idClient int output

)

AS

BEGIN

 

      SET NOCOUNT ON;

 

 

      INSERT INTO [client]

            ([nomClient], [rue1Client], [rue2Client], [napClient], [localiteClient])

      VALUES         

            (@nomClient, @rue1Client, @rue2Client, @napClient, @localiteClient)

SET @idClient = (SELECT MAX(idClient) FROM client)

END

 

 

11 réponses

cs_malcos Messages postés 1 Date d'inscription jeudi 23 novembre 2006 Statut Membre Dernière intervention 15 janvier 2007
15 janv. 2007 à 11:39
bonjour, c'est mon exemple d'ajout à mon base pour vous aider à l'enregistrement ... mes salutation


Dim myConnectionString As String 'chaine de connexion
Dim SQL1 As String 'chaine contenant la requete SQL
'variable récupérant les données
Dim MyCommand1 As New MySqlCommand
Dim myadapter As New MySqlDataAdapter
Dim mydata As New DataTable

Try

myConnectionString = "Database=controle;Data Source=127.0.0.1;User Id=root;Password=artcom"
Dim myConnection As New MySqlConnection(myConnectionString)
'ouverture de la connexion
myConnection.Open()
'attache la varibale MyCommand à notre connexion
MyCommand1.Connection = myConnection

'création de la requête

SQL1 = "Insert into table values ('" & ComboBox1.Text.ToString & "','" & ComboBox2.Text.ToString & "','" & TextBox2.Text.ToString + "'," & num.ToString & ")"

'execute la requete SQL
MyCommand1.CommandText = SQL1
'récupère les données de la requête
MyCommand1.ExecuteNonQuery()
'ferme la connexion
MyCommand1.Connection.Close()
'ferme la connexion
myConnection.Close()
Catch MySqlException As Exception
End Try
0
cretthie Messages postés 133 Date d'inscription mercredi 27 juin 2012 Statut Membre Dernière intervention 10 janvier 2012 1
22 janv. 2007 à 16:18
merci pour la reponse, je vais essayer.

a bientot Thierry
0
cretthie Messages postés 133 Date d'inscription mercredi 27 juin 2012 Statut Membre Dernière intervention 10 janvier 2012 1
22 janv. 2007 à 16:18
merci pour la reponse, je vais essayer.

a bientot Thierry
0
cretthie Messages postés 133 Date d'inscription mercredi 27 juin 2012 Statut Membre Dernière intervention 10 janvier 2012 1
22 janv. 2007 à 16:18
merci pour la reponse, je vais essayer.

a bientot Thierry
0

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

Posez votre question
cretthie Messages postés 133 Date d'inscription mercredi 27 juin 2012 Statut Membre Dernière intervention 10 janvier 2012 1
22 janv. 2007 à 16:23
Mais en fait, je crois que le probleme vient de ma base, car j'execute une requete sensee ajouter un nouvel enregistrement et aucun nouvel enregistrement ne s'affiche. j'execute ma procedure stoquee, elle fonctionne : 0 erreur, mais aucun enregistrement n'est ajouter. d'ou pourrai provenir le probleme. j'attends de vos nouvelles et vous remercie d'avance.

merci.
0
cretthie Messages postés 133 Date d'inscription mercredi 27 juin 2012 Statut Membre Dernière intervention 10 janvier 2012 1
22 janv. 2007 à 16:58
rebonjour,
donc, j'ai une exception de premiere chance qui se produit. qu'est-ce que ca signifie ?
merci.
Thierry
0
Gwendal3 Messages postés 60 Date d'inscription samedi 4 mars 2006 Statut Membre Dernière intervention 15 août 2011
23 janv. 2007 à 11:57
Salut,

Je pense que l'erreur vient d'ici
myCommand = New SqlCommand("Client_insert", m_connexion)

"Client_insert" n'est pas déclaré (ou pas visible dans le code que tu nous montres), et ne contient aucune valeur....
En même temps je ne connais pas le fonctionnement des procédures stockées...

Gwendal
0
cretthie Messages postés 133 Date d'inscription mercredi 27 juin 2012 Statut Membre Dernière intervention 10 janvier 2012 1
25 janv. 2007 à 16:43
bonjour,

Je pense que je probleme provient d'un probleme de droit d'acces. est-ce possible ?

je vous exiplique :

si j'employe une base de donnee cree directement dans sql server,  ma procedure stockee fonctionne.
par contre si j'employe une base de donnee qui est cree dans visual studio en ajoutant un element sql server,
ma procedure stockee ne fonctionne pas.
comme je veux creer une application qui n'employe pas de server sql (avec une base directement dans le projet sans serveur)
je ne peux pas employe une base qui est geree par sql server.

est-ce que qqn pourrait m'aider a ce sujet.

d'avance merci.

A Bientot Thierry
0
cretthie Messages postés 133 Date d'inscription mercredi 27 juin 2012 Statut Membre Dernière intervention 10 janvier 2012 1
25 janv. 2007 à 17:01
j'ai oublie de preciser que le fichier que je cree dans visual studio est un fichier mdf, et des que je le joint dans sql server ca fonctionne.... ca reste donc un fichier mdf et non un dbo.

merci a plus
0
MayOL69bg Messages postés 6 Date d'inscription lundi 20 novembre 2006 Statut Membre Dernière intervention 2 février 2007
1 févr. 2007 à 15:18
Slt, je peux pas t'aider mais j'ai exactement le même problème. J'ai créé un base de données sql server avec visual studio.
Je pense aussi que l'erreur provient d'un droit d'accès ou quelque chose qui va dans ce sens.

Ca fait pas mal de temps que je suis bloqué si quelqu'un a la solution...
0
cretthie Messages postés 133 Date d'inscription mercredi 27 juin 2012 Statut Membre Dernière intervention 10 janvier 2012 1
1 févr. 2007 à 21:33
salut, il te faut creer ta base dans sql server et faire un connection string sur sql server et non sur le fichier mdf de visual studio et tout fonctionne....
apres, je crois qu'il faut joindre ta base se trouvant dans sql server dans ton fichier mdf... mais ca pas sur..
change ensuite ton connectionstring pour employe ton fichier mdf... pas sur non plus.
pour l'instant, j'employe toujours le fichier dbo de sqlserver pour avancer dans  mon appli... je testerai bientot.
+ + + + + +
0
Rejoignez-nous