Schäl Guevera Geschrieben 3. November 2004 Teilen Geschrieben 3. November 2004 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! 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! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.