Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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!

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...