![]() |
Webservice Datei als Parameter
Hallo,
ich hoffe ihr könnt mir helfen: Ich habe eine Methode in einem Webservice. Die Methode hat mehrere "normale" Parameter (also String, Integer) und einen Parameter PDFFile. In diesem soll eine komplette PDF-Datei übergeben werden (also nicht nur der Pfad). Die Übergebenen Paramter werden samt der Datei in eine Datenbank-Tabelle geschrieben. Versucht habe ich folgendes: Der Paramter vom Typ "Byte[] PDFDatei". Beim Einfügen in die Datenbank: sSQL = "INSERT INTO TABELLE (SPALTE1, SPALTE2, PDFDATEI) VALUES ('123','ichunddu','@PDFDATEI')"; ad.SelectCommand.Parameters.Add("@PDFDATEI", SqlDbType.Image).Value = PDFDatei; //PDFDatei vom Typ Byte[] ds.Clear(); ad.SelectCommand.CommandText = sSQL; ad.Fill(ds); //ad = SqlDataAdapter //ds = DataSet Das klappt aber so alles nicht. |
Re: Webservice Datei als Parameter
Wird ein Fehler angezeigt?
Sollte es nicht
Code:
heißen?
ad.SelectCommand.Parameters.Add("PDFDATEI", SqlDbType.Image).Value = PDFDatei;
|
Re: Webservice Datei als Parameter
Zitat:
|
Re: Webservice Datei als Parameter
Zitat:
Die Quotes sind in meinem eigentlichen Code gar nicht da, sorry :oops: |
Re: Webservice Datei als Parameter
hat leider auch nicht funktioniert. Es kommt komischerweise immer ein INSERT-Fehler.
"Server was unable to process request. ---> In der INSERT-Anweisung sind weniger Spalten angegeben als Werte in der VALUES-Klausel. Die Anzahl von Werten in der VALUES-Klausel und die Anzahl von in der INSERT-Anweisung angegebenen Spalten mÃŒssen ÃŒbereinstimmen." Die Insert-Anweisung ist aber richtig da es ohne PDF-File (mit NULL) funktioniert. Daher muss es irgendwie mit dem byte[]-Datentyp oder mit dem .Parameters.Add("PDFDATEI", SqlDbType.Image).Value = PDFDatei; zu tun haben. Nebenfrage: Wie initialisiere ich denn einen byte[]-Datentyp richtig? Welchen Wert hat ein byte[]-Datentyp wenn er die Länge 0 besitzt? |
Re: Webservice Datei als Parameter
Ich weiss nicht ob das mit der direkten Insert Anweisung so klappt mit den Blobfeldern.
Probier eventuell mal folgendes: select * from Tabelle where 1=2 öffne dein Dataset und nutze dann die Insert-Methode vom Dataset, um einen neuen Record anzulegen, den du, nach setzen der Felder, mit Post dann wegschreibst. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz