none
Connexion a une base access avec un web service RRS feed

  • Question

  • Bonjour

    J'ai suivi le tuto "Utilisation d'un Dataset à partir d'un service Web Xml".
    Que l'on trouve a cette adresse : http://msdn2.microsoft.com/fr-fr/library/s5xy331f(VS.80).aspx

    J'y arrive très bien , mais Je souhaite faire  la même chose avec une base Access ou ODBC et là par contre j'ai une erreur que je n'arrive pas à resoudre.

    System.Data.OleDb.OleDbException: Type de données incompatible dans l'expression du critère.    
    à System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)   
    à System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)   
    à System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)   
    à System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)   
    à System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)   
    à System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior)   
    à System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)   
    à System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)   
    à System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)   
    à System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable)   
    à ClassArticle.ListeDataSetArticle(Int32 mag) dans C:\Documents and Settings\manu\Mes documents\WebServiceArticle\App_Code\Service.vb:ligne 21
    la ligne 21 est : custDa.Fill(custDs, "DBA_articles")
    Je vous donne mon code 
    Imports System.data
    Imports System.Data.OleDb
    Imports System.Web.Services
    <WebService(Namespace:="
    http://tempuri.org/")> _
    <WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
    <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
    Public
    Class ClassArticle
    Inherits System.Web.Services.WebService
    Public TableArticleConn As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Application\DBFelix.mdb")
    <WebMethod()> PublicFunction ListeDataSetArticle(ByVal mag AsInteger) As DataSet
    Dim custDa As OleDbDataAdapter = New OleDbDataAdapter("SELECT [CODE_RAYON], [CODE_PLU], [CODE_EAN], [DESIGNATION], [PV1], [TVA1], [FAMILLE], [TARE] FROM [DBA_articles] WHERE CODE_RAYON ='" & mag & "'", TableArticleConn)
    Dim custDs As DataSet = New DataSet()
    custDa.MissingSchemaAction = MissingSchemaAction.AddWithKey
    custDa.Fill(custDs, "DBA_articles")
    ListeDataSetArticle = custDs
    EndFunction
    EndClass
    Merci  


     

    mardi 13 mars 2007 15:24

Réponses

  • Il faut enlever les quotes autour de mag puisque Code_Rayon est une valeur numérique

    Dim custDa As OleDbDataAdapter = New OleDbDataAdapter("SELECT [CODE_RAYON], [CODE_PLU], [CODE_EAN], [DESIGNATION], [PV1], [TVA1], [FAMILLE], [TARE] FROM [DBA_articles] WHERE CODE_RAYON = " +  mag.ToString, TableArticleConn)

    jeudi 15 mars 2007 06:38

Toutes les réponses

  • Il faut enlever les quotes autour de mag puisque Code_Rayon est une valeur numérique

    Dim custDa As OleDbDataAdapter = New OleDbDataAdapter("SELECT [CODE_RAYON], [CODE_PLU], [CODE_EAN], [DESIGNATION], [PV1], [TVA1], [FAMILLE], [TARE] FROM [DBA_articles] WHERE CODE_RAYON = " +  mag.ToString, TableArticleConn)

    jeudi 15 mars 2007 06:38
  • Merci Bidou
    ça fonctionne bien.
    J'ai cru qu'il y avait plus d'erreur que ça dans mon code.
    Par contre je bloque pour diffuser mon web service, je le mets en ligne et je n'arrive pas à y acceder à distance. bizarre !!!!

    A+

    jeudi 15 mars 2007 12:11