Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Delphi.NET Webservice

Empfohlene Antworten

Veröffentlicht

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!

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.