begin process at 2010 02 10 11:15:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Base de données

 > 

Oracle

 > 

debutant ORACLE VB .NET


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

debutant ORACLE VB .NET

samedi 15 septembre 2007 à 01:28:27 | debutant ORACLE VB .NET

battit64

Bonjour j'essaie d'insere des enregistremetn dans une table mais j'ai une erreur ORA-00984 un nom de colone n'est pasautorisé ici

si quelqu'un peut m'aider car je sui débutant

Class

Form1

PrivateSub connection_oracle()

Try

Dim oradb AsString = "Data Source=(DESCRIPTION=" _

+

"(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.103.14)(PORT=1521)))" _

+

"(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=PPIFC)));" _

+

"User Id=ic;Password=icic;"

Dim conn AsNew OracleConnection(oradb)

conn.Open()

Dim cmd AsNew OracleCommand

cmd.Connection = conn

cmd.CommandText =

"INSERT INTO PP_UTI (NOM_UTI, PRENOM_UTI) VALUES (" + TextBox1.Text + "," + TextBox2.Text + ")"

cmd.CommandType = CommandType.Text

cmd.ExecuteNonQuery()

'Dim dr As OracleDataReader = cmd.ExecuteReader()

'While dr.Read()

'ListBox1.Items.Add("Le Nom " + dr.Item(0) + _

' " est à " + dr.Item("PRENOM_UTI"))

'Attention au signe pour les requêtes paramétrées sous Oracle

Catch ex As OracleException ' intercepte seulement les erreurs Oracle
SelectCase ex.Number
Case 1
MessageBox.Show(
"Insertion ou MAJ impossible car la clé primaire dupliquée.")
Case 12545
MessageBox.Show(
"La Base de Données n'est pas disponible.")
CaseElse
MessageBox.Show("Erreur de Base de Données : " + ex.Message.ToString())
EndSelect
EndTry
EndSub

battit64
samedi 15 septembre 2007 à 11:18:01 | Re : debutant ORACLE VB .NET

casy

Membre Club
Réponse acceptée !
Je dirais qu'à priori cela vient de ta requette INSERT. Je presume que Nom et Prenom sont déclarés comme des champs texte.

Les valeurs que tu leurs passent sont bien du texte, sauf qu'elles ne sont pas encadré par des quotes ( ' ). De ce fait Oracle ne les comprends pas comme étants des valeurs mais comme étant des nom de colonnes. Et il ne peut pas y avoir de nom de colonnes dans la rubrique VALUES.

Il faut donc corriger ainsi :

cmd.CommandText = "INSERT INTO PP_UTI (NOM_UTI, PRENOM_UTI) VALUES ('"+ TextBox1.Text + "','"+ TextBox2.Text + "')"


---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #    [ Lien ]
lundi 17 septembre 2007 à 19:30:17 | Re : debutant ORACLE VB .NET

battit64

effectivement tu avais raison (désolé pour le retard je pensais que personne ne m'avais répondu)
il me prends bien les lettres mais seulement la premiere lettre.
par exemple si je mets toto=valentin et toto2=marc dans ma base de donée j'aurais NOM_UTI=V et PRENOM_UTI=m
Voici mon code:

PrivateSub connection_oracle()

Try

Dim oradb AsString = "Data Source=(DESCRIPTION=" _

+

"(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.103.14)(PORT=1521)))" _

+

"(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=PPIFC)));" _

+

"User Id=ic;Password=icic;"

Dim conn AsNew OracleConnection(oradb)

conn.Open()

Dim cmd AsNew OracleCommand

Dim toto AsChar

Dim toto2 AsChar

toto = TextBox1.Text

toto2 = TextBox2.Text

cmd.Connection = conn

cmd.CommandText =

"INSERT INTO PP_UTI (NOM_UTI,PRENOM_UTI) VALUES ('" + toto + "','" + toto2 + "')"

cmd.CommandType = CommandType.Text

cmd.ExecuteNonQuery()

'Dim dr As OracleDataReader = cmd.ExecuteReader()

'While dr.Read()

'ListBox1.Items.Add("Le Nom " + dr.Item(0) + _

' " est à " + dr.Item("PRENOM_UTI"))

'Attention au signe pour les requêtes paramétrées sous Oracle

 

 

 

Catch ex As OracleException ' intercepte seulement les erreurs Oracle

SelectCase ex.Number

Case 1

MessageBox.Show(

"Insertion ou MAJ impossible car la clé primaire dupliquée.")

Case 12545

MessageBox.Show(

"La Base de Données n'est pas disponible.")

CaseElse

MessageBox.Show(

"Erreur de Base de Données : " + ex.Message.ToString())

EndSelect

 

 

EndTry

 

EndSub

battit64
lundi 17 septembre 2007 à 19:34:52 | Re : debutant ORACLE VB .NET

battit64

Réponse acceptée !

désolé j'ai trouvé la réponse moi meme le probleme venait de la déclaration des variable toto et toto2
battit64
lundi 17 septembre 2007 à 19:36:18 | Re : debutant ORACLE VB .NET

casy

Membre Club

Forcément, tu déclare toto et toto2 comme étnat des Char (1 caractères).

Déclare-les en chaines de caratères (String) et ça ira mieux.

---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #    [ Lien ]


Cette discussion est classée dans : ex, oracle, cmd, dr, uti


Répondre à ce message

Sujets en rapport avec ce message

HELLLLP ! Prb de requete sur base Oracle [ par lapinot ] Lorsque j'exécute le code suivant, jai le message :'ORA-00911 : Caractère non valide'J'ai essayé deux version d'Oracle, les biblis ADO 2.5 et 2.7, rie A L'AIDE ! Prb de requete sur base Oracle [ par lapinot ] Lorsque j'exécute le code suivant, jai le message :'ORA-00911 : Caractère non valide'J'ai essayé deux version d'Oracle, les biblis ADO 2.5 et 2.7, rie DataGrid et dataReader [ par ProphetKy ] Bonjour à tous,Je developpais avant en Vb6, et je dois développer une application en VB.net et j'ai un petit problème avec le data reader, je voudrais insertion d'image [ par awa_awa ] salut aidez moi a trouver une solution Dim cmd As</fon rs.update et rs.cachesize [ par CharlEm ] Bonjour à tous,Je fais un programme qui me permet de remplir deux colonnes d'une méga table Oracle.Je fais un cachesize = 20000 en entrée mais comme c LECTURE DE DONNEE VISUAL WEB DEV 2008 [ par sergeszebe ] SALUT A TOUS JE VOUDRAIS RECUPERER TOUTES LES ADRESSE MAIL DE LA TABLE USER CA NE MARCHE PAS ET SANAFFICHE PAS DERREUR Oracle, ODBC, Driver Windows 2008 Serveur 64 bits [ par enzo68290 ] Bonjour à tous Voila je m'explique, j'ai un projet qui va devoir utiliser ODBC pour attaquer depuis VB.net une base de données oracle 9i. quelqu'un Différence entre deux dates [ par bmithoun ] Bonjour Tout le monde je réalise un petit programme qui gère le personnel d'une entreprise.Je veux calculé l'ancienneté des agents en faisant la diffé impossible de remplir gridview [ par oliverell62 ] je suis dans une impasse j ai beau avoir passe au crible un sacree paquet de topic, je ne trouve pas [code=vb] Private Sub Button3_Click_2(ByVal sen


Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales