German Filter funktion aus SQL

tester198

Member
Licensed User
Longtime User
Hallo erstmal :) seid geraumer zeit arbeite ich an einem Datenbankprojekt. Da ich die vorfreude auf den Code und das Projekt euch nicht verderben möchte werde ich nicht sehr viel zum eigentlichen Projekt sagen. Ich kann euch jedoch versichern sobal eine akzeptable version da ist werde ich sie mit code euch zur verfügung stellen. So nun zu meinem Problem:

Ich möchte eine art filterfunktion haben. Das bedeutet es sollte möglich sein in der Hauptactivity über die eingabe in eine Editbox aus der datenbank den entsprechenden eintrag mit dem anfangsbuchstaben rauszusuchen und dann sofort anzuzeigen. Wäre nett wenn einer von euch cracks :) mir einen kleinen beispielcode erstellen könnte ;).

Ich bedanke mich schonmal im vorraus.

lg the tester
 
D

Deleted member 103

Guest
Hallo tester198,

hier ein klein Beispiel:
PHP:
Sub Activity_Create(FirstTime As Boolean)
   Dim myWert As String
   myWert=goSelectItemFromTable("myTable", "myColumnName", "myColname='" & myName & "'")
End Sub

Sub goSelectItemFromTable(SQLTable As String, ItemColumn As String, ItemCondition As String) As String
   Dim str As String
   
   Try
      str=SQL1.ExecQuerySingleResult("SELECT " & ItemColumn & " FROM '" & SQLTable & "' WHERE " & ItemCondition)
      Return str
   Catch
      Log("goSelectItemFromTable: " & LastException.Message)
      Return ""
   End Try
End Sub

Ciao,
Filippo
 
D

Deleted member 103

Guest
Hallo tester198,

hier ein klein Beispiel:
PHP:
Sub Activity_Create(FirstTime As Boolean)
   Dim myWert As String
   'myWert=goSelectItemFromTable("myTable", "myColumnName", "myColname='" & myName & "'")
   myWert=goSelectItemFromTable("myTable", "myColumnName",  myName & " LIKE '" & myPatern "%'")
End Sub

Sub goSelectItemFromTable(SQLTable As String, ItemColumn As String, ItemCondition As String) As String
   Dim str As String
   
   Try
      str=SQL1.ExecQuerySingleResult("SELECT " & ItemColumn & " FROM '" & SQLTable & "' WHERE " & ItemCondition)
      Return str
   Catch
      Log("goSelectItemFromTable: " & LastException.Message)
      Return ""
   End Try
End Sub

Ciao,
Filippo
 

tester198

Member
Licensed User
Longtime User
Hallo tester198,

hier ein klein Beispiel:
PHP:
Sub Activity_Create(FirstTime As Boolean)
   Dim myWert As String
   'myWert=goSelectItemFromTable("myTable", "myColumnName", "myColname='" & myName & "'")
   myWert=goSelectItemFromTable("myTable", "myColumnName",  myName & " LIKE '" & myPatern "%'")
End Sub

Sub goSelectItemFromTable(SQLTable As String, ItemColumn As String, ItemCondition As String) As String
   Dim str As String
   
   Try
      str=SQL1.ExecQuerySingleResult("SELECT " & ItemColumn & " FROM '" & SQLTable & "' WHERE " & ItemCondition)
      Return str
   Catch
      Log("goSelectItemFromTable: " & LastException.Message)
      Return ""
   End Try
End Sub

Ciao,
Filippo

Hallo, danke ersteinmal für die rache lösung meines Problemes. So schneit es wohl zu gehn jedoch habe ich ein wenig Probleme bei dem Nachvollziehen des Codes. Da ich noch blutiger Anfänger bin :).

str=ST.ExecQuerySingleResult("SELECT " & ItemColumn & " FROM '" & SQLTable & " WHERE " & ItemCondition)

ItemColumn etc. sollte ich durch meine SQLTable ersetzen habe ich das richtig verstanden? :)

:sign0013:

Ich werde noch ein wenig rumtüfteln vielleicht bekomme ich es ja noch hin.
 
D

Deleted member 103

Guest
ItemColumn etc. sollte ich durch meine SQLTable ersetzen habe ich das richtig verstanden?
Die Variable "ItemColumn" steht für die Spalte in dem gesucht wird, es kann eine "*" (für alls Spalten) oder eine oder mehrere Spalten(z.b. col1,col2...) sein.
 

tester198

Member
Licensed User
Longtime User
Die Variable "ItemColumn" steht für die Spalte in dem gesucht wird, es kann eine "*" (für alls Spalten) oder eine oder mehrere Spalten(z.b. col1,col2...) sein.

Vielen dank für die Erklärung. Gibt es eigentlich eine Referenz für den goSelectItemFromTable befehl? da ich kein stück hinter den code steige.

meine datenbank heißt cd. so mein die variable myname habe ich einfach mal eingebaut bei mir und habe sie als edittext declariert. (Dim myname as EditText). dann habe ich ein listenkriterium das ich anzeige nenne.

Was hast du mit:

myWert=goSelectItemFromTable("myTable", "myColumnName", myName & " LIKE '" & myPatern "%'")

myPatern gemeint? wenn ich mypatern ersetze dann kommt bei mir die fehlermeldung:

Compiling code. Error
Error parsing program.
Error description: Syntax error.
Occurred on line: 38
myWert=goSelectItemFromTable("cd", "Produkte", talen & " LIKE '" & myname.text "%'")

Sorry wie gesagt noch absolut am anfang.
 
Last edited:
D

Deleted member 103

Guest
OK!

Hier ein Beispiel von SQL LIKE Operator

B4X:
The LIKE Operator

The LIKE operator is used to search for a specified pattern in a column.
SQL LIKE Syntax
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern

LIKE Operator Example

The "Persons" table:
P_Id    LastName    FirstName    Address    City
1    Hansen    Ola    Timoteivn 10    Sandnes
2    Svendson    Tove    Borgvn 23    Sandnes
3    Pettersen    Kari    Storgt 20    Stavanger

Zum Beispiel wir suchen die Person mit den Nachname der die Anfangsbuchstaben hat "Pet".

PHP:
myWert=goSelectItemFromTable("Persons", "LastName",  "LastName  LIKE 'Pet%'")

Ergebnis:
myWert =Pettersen
 

tester198

Member
Licensed User
Longtime User
OK!

Hier ein Beispiel von SQL LIKE Operator

B4X:
The LIKE Operator

The LIKE operator is used to search for a specified pattern in a column.
SQL LIKE Syntax
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern

LIKE Operator Example

The "Persons" table:
P_Id    LastName    FirstName    Address    City
1    Hansen    Ola    Timoteivn 10    Sandnes
2    Svendson    Tove    Borgvn 23    Sandnes
3    Pettersen    Kari    Storgt 20    Stavanger

Zum Beispiel wir suchen die Person mit den Nachname der die Anfangsbuchstaben hat "Pet".

PHP:
myWert=goSelectItemFromTable("Persons", "LastName",  "LastName  LIKE 'Pet%'")

Ergebnis:
myWert =Pettersen

Hallo Vielen Vielen dank für deine Bemühungen und die Zeit die ich dir geraubt habe :) jedoch befürchte ich ich bin zu doof ^^ das in mein Programm mit einzubinden. Gibt es nirgendswo ein Beispiel was mein ich mir runterladen könnte wo ich sehe wie die Funktion arbeitet. OK das mywert =.... hab ich verstanden jedoch hängt es noch an der

str=SQL1.ExecQuerySingleResult("SELECT " & ItemColumn & " FROM '" & SQLTable & " WHERE " & ItemCondition) zeile.

Naja die Enterprise Lizens ist bestellt da ich befürchte das ich das Problem in 2 Monaten noch nicht gelöst bekommen habe.

lg
 
D

Deleted member 103

Guest
Jetzt häng dein kopf nicht runter.:)
Wenn es für dich möglich ist, dan mach ein Zip-Export aus dein Projekt und lade es hoch.
Ich werde, soweit es möglich ist, die funktion für dich einbauen.
 

tester198

Member
Licensed User
Longtime User
Jetzt häng dein kopf nicht runter.:)
Wenn es für dich möglich ist, dan mach ein Zip-Export aus dein Projekt und lade es hoch.
Ich werde, soweit es möglich ist, die funktion für dich einbauen.

Dankeschön für deine Hilfe :) Ich freue mich sehr darüber das du mir den Code einbauen möchtest. Vielen Dank. Ich habe mal das View attachment projekt.zip angehängt und würde mich sehr darüber freuen wenn ich mit der Suchbox im Main aktivity nach den Ländern suchen könnte. Bitte wundere dich nicht darüber das noch nicht viele Funktionen vorhanden sind da ich wie gesagt noch blutiger anfänger bin.

lg
 
D

Deleted member 103

Guest
In dem Projekt fehlt die Datenbank, kanst du es noch hochladen?
 
D

Deleted member 103

Guest
Hallo tester198,

ich glaube du hast die falsche Datenbank hochgeladen, in diese Datenbank geht es um Milchprodukte und nicht um Länder.;)
 

tester198

Member
Licensed User
Longtime User
Hallo tester198,

ich glaube du hast die falsche Datenbank hochgeladen, in diese Datenbank geht es um Milchprodukte und nicht um Länder.;)

So jetzt glaube ich ist mir wirklich jedes missgeschick passiert was einem passieren kann das ist das problem wenn man arbeit und hobby verbindet bei einem macht man dann irgendwo mist und in dem falle war es das hobby :). *g ok hier die 3 version ^^ xD. Ich hoffe diesmal ist es alles :) und vorallem das richtige habe es nochmal kontrolliert...

View attachment 7171
 
D

Deleted member 103

Guest
Also ich lade dir jetzt die Version mit den Milchprodukte, ich denke du kannst es jetzt auf die Ländern ändern.;)
 

tester198

Member
Licensed User
Longtime User
hy ich hab noch ein kleines problem ^^

bei der suchfunktion ist es so das wenn ich die genau zahl welche sich in der datenbank befindet eingebe dann nur ein ergebniss kommt wie kann ich das abändern wenn ich nur beispielsweise ich habe 120 und gebe nur eine 1 ein das trotzdem ein ergebniss angezeigt wird. Gestern hattest du was von einem % erwähnt wo müsste ich das einsetzen wenn das so ist?!
 
D

Deleted member 103

Guest
Darf ich dich gott nennen
Bitte nein, so klein ist Gott nicht!

bei der suchfunktion ist es so das wenn ich die genau zahl welche sich in der datenbank befindet eingebe dann nur ein ergebniss kommt wie kann ich das abändern wenn ich nur beispielsweise ich habe 120 und gebe nur eine 1 ein das trotzdem ein ergebniss angezeigt wird. Gestern hattest du was von einem % erwähnt wo müsste ich das einsetzen wenn das so ist?!
In dem Projekt_1.zip habe ich in eine Zeile geschrieben warum es nicht geht.

PHP:
Sub btnSuche_Click
   Log ("Select Produkt FROM bedatenbank WHERE kcal>" & Suchbox.Text)

   'Diese Zeile funktioniert nicht weil die Datenbank-Spalt "kcal" nicht als Zahl definiert ist.
   'Cursor = ST.ExecQuery("Select Produkt FROM bedatenbank WHERE kcal>'" & Suchbox.Text & "'")
Mit diese Zeile könntest du alles Produkte finden die mehr kcal haben als das was du suchst.
 
Top