Zum Inhalt springen

Delphi.NET Webservice


Schäl Guevera

Empfohlene Beiträge

Hy!

Ich probiere gerade mit einem WebService rum - der Service (get_Kunden() lieferte mir auch immer hübsch den Inhalt er Tabelle Kunden zurück.

Nun versuche ich über die Parameter des Services die Suche einzugrenzen - mit der Kundennummer klappt es auch, nur wenn ich versuche nach einem Namen einzugrenzen ...

Wenn ich dieses tue - dann erscheint folgende Fehlermeldung:

System.ArgumentException: '' kann nicht zu 'System.Int32' konvertiert werden.

Parametername: type ---> System.FormatException: Die Eingabezeichenfolge hat das falsche Format.

at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)

at System.String.System.IConvertible.ToInt32(IFormatProvider provider)

at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)

at System.Web.Services.Protocols.ScalarFormatter.FromString(String value, Type type)

--- Ende der internen Ausnahmestapelüberwachung ---

at System.Web.Services.Protocols.ScalarFormatter.FromString(String value, Type type)

at System.Web.Services.Protocols.ValueCollectionParameterReader.Read(NameValueCollection collection)

at System.Web.Services.Protocols.HtmlFormParameterReader.Read(HttpRequest request)

at System.Web.Services.Protocols.HttpServerProtocol.ReadParameters()

at System.Web.Services.Protocols.WebServiceHandler.Invoke()

at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()

Was soll mir denn das sagen? Irgendwie habe ich da ein Brett vor dem Kopf! :rolleyes:

Anbei der Code von get_Kunden():

 

function TWebService1.getKunden(KN_Nr:Integer; Name,Vorname,PLZ,Ort,Telefon:String) :DataSet;

var

   connstr   :   string;

  conn      :   OleDbConnection;

  cmdSel   :   OleDbCommand;

  da         :   OleDbDataAdapter;

  ds         :   DataSet;

  sql         :   string;

begin

   connstr:= 'Provider=ASAProv;'+

            'Data Source =Genesis;';

  conn:= OleDbConnection.Create(connstr);


  sql := 'SELECT * FROM Perso_Haupt WHERE 1=1';

  if KN_Nr <> 0 then

     sql := sql+ ' AND    Person_NR = '+KN_Nr.ToString;

  if Name <> '' then

     sql := sql+' AND Name = ' + Name;

  if Vorname <> '' then

     sql := sql+' AND Vorname = ?';

  if PLZ <> '' then

     sql := sql+' AND PLZ = ?';

  if Ort <> '' then

     sql := sql+' AND Ort = ?';

  if Telefon <> '' then

     sql := sql+' AND Telefon = ?';

  sql:= sql+' ORDER BY Person_NR';


  cmdsel:=OleDbCommand.Create(sql,conn);


  da:= OleDbDataAdapter.Create(cmdsel);

  ds:= DataSet.Create;

  conn.Open;

  da.Fill(ds);

  conn.Close;

  Result:= ds;

end;

Wie bekomme ich denn den Namen da rein? in D6 gab es doch quotedstring o.ä.

THX!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...