begin process at 2012 02 15 01:24:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Base de données

 > 

SQL

 > 

ce qui marche avec les objet sql ne marcherais pas avec oledb?


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

ce qui marche avec les objet sql ne marcherais pas avec oledb?

mardi 5 août 2008 à 15:18:53 | ce qui marche avec les objet sql ne marcherais pas avec oledb?

l0r3nz1

J'avais une fonction qui marchais sur sql serveur, et pour la tester sur une base access, impossible! j'ai pourtant modifier les objets (sql -> oledb) et non à ni rien comprendre la chaine de connexion est pourtant ok puisque je me connecte mais mon adapter ne rempli pasle dataset???

VOICI LA FONCTION ACCESS AU DATASET DEFAILLANT

Public

Function recupereTable_access_inArray(ByVal bdd As String, ByVal table As String) As Array
Dim arrayvide(0)
Dim odt As New DataTable
Dim tabloRetour
Dim tailleTabloretour
Dim countFor
Dim theConnectionString
theConnectionString = Me.connectionACCESS(bdd)
Dim theQueryString
theQueryString = "SELECT * from " & table
Dim theOLEDBConnection As New OleDbConnection(theConnectionString)
Dim theOLEDBCommand As OleDbCommand = theOLEDBConnection.CreateCommand()
ReDim tabloRetour(0)
tailleTabloretour = -1
theOLEDBCommand.CommandText = theQueryString

Dim thedataset As Data.DataSet = New Data.DataSet
Dim theadapter As New OleDbDataAdapter()
Using connection As New OleDbConnection(Me.connectionACCESS(bdd))
Try
connection.Close()
Catch ex As Exception
End Try
Try
connection.Open()
Catch ex As Exception
recupereTable_access_inArray = arrayvide
connection.Close()
Exit Function
End Try
theadapter.SelectCommand = New OleDbCommand("select * from " & table, connection)
Try
theadapter.Fill(thedataset, table)
Catch ex As Exception
recupereTable_access_inArray = arrayvide
connection.Close()
Exit Function
End Try
odt = thedataset.Tables(table)
For countFor = 0 To odt.Rows.Count
tailleTabloretour = tailleTabloretour + 1
ReDim Preserve tabloRetour(tailleTabloretour)
tabloRetour(tailleTabloretour) = odt.Rows(0).ItemArray
Next

theOLEDBConnection.Close()
theOLEDBConnection = Nothing
theOLEDBCommand = Nothing
connection.Close()
End Using
recupereTable_access_inArray = tabloRetour
End Function


ET LA MEME POUR SQL SERVER MAIS QUI MARCHE

Public

Function recupereTableinArray(ByVal bdd As String, ByVal table As String) As Array
Dim arrayvide(0)
Dim odt As New DataTable
Dim tabloRetour
Dim tailleTabloretour
Dim countFor
Dim theConnectionString
theConnectionString = Me.getStringCon(bdd)
Dim theQueryString
theQueryString = "SELECT * from " & table
Dim theSQLConnection As New SqlConnection(theConnectionString)
Dim theSQLCommand As SqlCommand = theSQLConnection.CreateCommand()
ReDim tabloRetour(0)
tailleTabloretour = -1
theSQLCommand.CommandText = theQueryString

Dim thedataset As Data.DataSet = New Data.DataSet
Dim theadapter As New SqlDataAdapter()
Using connection As New SqlConnection(Me.getStringCon(bdd))
Try
connection.Close()
Catch ex As Exception
End Try
Try
connection.Open()
Catch ex As Exception
recupereTableinArray = arrayvide
connection.Close()
Exit Function
End Try
theadapter.SelectCommand = New SqlCommand("select * from " & table, connection)
Try
theadapter.Fill(thedataset, table)
Catch ex As Exception
recupereTableinArray = arrayvide
connection.Close()
Exit Function
End Try
odt = thedataset.Tables(table)
For countFor = 0 To odt.Rows.Count
tailleTabloretour = tailleTabloretour + 1
ReDim Preserve tabloRetour(tailleTabloretour)
tabloRetour(tailleTabloretour) = odt.Rows(0).ItemArray
Next

theSQLConnection.Close()
theSQLConnection = Nothing
theSQLCommand = Nothing
connection.Close()
End Using
recupereTableinArray = tabloRetour
End Function

EVIDEMENT CE N EST PAS UNE QUESTION DE TABLE VIDE!!!!

Si l'un d'entre vous pouvez m'orienter parce que la je ne sais pas.

Merci beaucoup d'avance.

mardi 5 août 2008 à 17:07:44 | Re : ce qui marche avec les objet sql ne marcherais pas avec oledb?

youpiyoyo

Salut,
Est-ce qu'il te met un message d'erreur en particulier?
est-ce que ta table tu mets "dbo." devant. ceci dépend de ta structure de base et de la configuration de ton sql serveur. Fait attention à ton connection string fait un test avec .open dans un try catch.
un exemple de code avec sql command qui fonctionne:
Dim connectionString As String = "Data Source=SERVERNAME;Initial Catalog=NOMDETABASE;Persist Security Info=True;User ID=LOGIN;Password=PASSWORD;packet size=4096;"
Dim connection As New SqlClient.SqlConnection(connectionString)
Dim objAdapter As New System.Data.SqlClient.SqlDataAdapter
Dim sqlcmd as string = "SELECT dbo.RequestorProces.RequestorProcesId, dbo.RequestorProces.TicketNumber, dbo.RequestorProces.CreationDate, dbo.RequestorProces.ClosedDate, dbo.FormFieldValue.FormFieldName, dbo.FormFieldValue.FormFieldValue"
sqlcmd = sqlcmd + " FROM dbo.FormFieldValue RIGHT JOIN dbo.RequestorProces ON dbo.FormFieldValue.RequestorProcesId = dbo.RequestorProces.RequestorProcesId"
objAdapter.SelectCommand = New System.Data.SqlClient.SqlCommand(sqlcmd, connection)
objAdapter.Fill(MainDataset,"nom table")
connection.Close()

youpi :)
mercredi 6 août 2008 à 15:19:03 | Re : ce qui marche avec les objet sql ne marcherais pas avec oledb?

l0r3nz1

Bonjour,

En fait c'est deux fonctions presque pareils à la différence que l'une récupère une table sql serveur pour la mettre dans un tableau , celle la pas de souci.

le souci ici c'est sur Access , la connexion access, pas de souci mais lorsque j'utilise la fonction "fill" comme tu le fais en fait la j'ai un message d'erreur "Échec de IErrorInfo.GetDescription avec E_FAIL(0x80004005)."

le debut de la chaîne d'erreur est:
"System.Data.OleDb.OleDbException: Échec de IErrorInfo.GetDescription avec E_FAIL(0x80004005)."

la seule differance entre les deux fonction est que l'une à les objets oledb et l'autre sql...

Est ce un souci de serveur? de code

mercredi 6 août 2008 à 15:38:20 | Re : ce qui marche avec les objet sql ne marcherais pas avec oledb?

youpiyoyo

Réponse acceptée !
pour ton msg d'erreur tu as
[ Lien ]
[ Lien ]
@+
youpi :)
mercredi 6 août 2008 à 17:24:52 | Re : ce qui marche avec les objet sql ne marcherais pas avec oledb?

l0r3nz1

Je te remerci, je vais regarder ça.

lundi 7 décembre 2009 à 12:25:24 | Re : ce qui marche avec les objet sql ne marcherais pas avec oledb?

l0r3nz1

J'avais laissé ça de coté!
Il faut mettre le nom des tables entre crochets!


Cette discussion est classée dans : connection, table, close, tailletabloretour, tabloretour


Répondre à ce message

Sujets en rapport avec ce message

*** ADO *** HELP SQL TABLE !!!! [ par pingwee ] J'arrive à me connecter à la base avec 1 connection de type adodb.connectioncomment je fais ensuite pour choisir ma table, et pour insérer 1 enregistr Connection [ par Expensive ] Salut J'ai une table access97 qui comprend un champ nommé Destination, ce champ va être paramétrer par l'utilisateur pour idenfier l'emplacement de la Connection ODBC et requêtes sur une table Oracle sous Unix [ par chriswaddle ] Bonjour à tous.Etant débutant en VB. J'aimerais savoir si quelqu'un pourrait me fournir le code VB permettant de se connecter à une base Oracle sous U [Access] Dupliquer une table? [ par asskar ] Bonjour,J'aimerais pouvoir dupliquer une table access pour cela, j'exécute les lignes ci-dessous mais apparemment, ça marche pas. Comment faire??Merci Connection ADO, table liée..... [ par acidstrike68 ] Voila j'ai une question qui concerne l 'ADO.J'ai un projet que je développe avec access 2003 en table liée. J'ai terminé ce projet mais jaimerai ajout ADODB connection et recordset [ par ricomiracle ] Bon j'ai avancer un petit peu avec les objets ADODB recordset et connection. Je pose la question car vous avez l'air de les avoir utiliser plus que mo connexion a une table dbf dans un lecteur reseau [ par LAMAN ] bonjourj'ai un probleme bizarre,je me connecte a une table dbase IV qui se trouve dans un lecteur reseau(supposant I:\) la connection cn.open reussit connection base access [ par mtctls ] salut tout le monde;j'ai une base access comportant deux table article et fournisseur et une interface pour chaque table avec chaqu'une des option:ajo Comment mettre les chemin de ma connexion dans une table et la recupérer? [ par fcomeflore ] Bonsoir à Tous Je developpe actuellement une application avec Vb6, j'utilise le mode de connection ADO et une Base de Donnée Accès. Mon problème: je supprimer dans une table avec vba [ par blanchoc ] Bonjour,je dispose de données stockées sous excel, et je souhaiterais utiliser des requetes de type sql pour naviguer dans ces tables, faire des reche


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 3,307 sec (4)

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