Queryparser
Language: Deutsch
Programming Language: C#
Published by: Thomas
Last Update: 4/13/2006
Views: 1307
Description
QueryParser ist eine kleine C#-Klasse, die es ermöglicht, Such-Abfragen in eine entsprechende SQL-WHERE-Bedingung zu zerlegen. Das Original stammt von Claudius Ceteras, ich habe es für meine Zwecke in C# übersetzt und will es euch nicht vorenthalten, da ich es für ganz nützlich halte.
Beispielaufruf:
protected void Button1_Click(object sender, EventArgs e)
{
QueryParser qp = new QueryParser();
qp.DefaultOperator = QueryOperator.AND;
qp.QueryType = QueryType.Difference;
qp.MinDifference = 2;
Label1.Text = "SELECT * FROM table WHERE " + qp.Parse(TextBox1.Text, new string[] { "firstname", "lastname" });
qp = new QueryParser();
qp.DefaultOperator = QueryOperator.AND;
qp.QueryType = QueryType.Like;
Label2.Text = "SELECT * FROM table WHERE " + qp.Parse(TextBox1.Text, new string[] { "firstname", "lastname" });
}
Ergebnis von "edmund AND stottern OR "Stotter Ede":
SELECT * FROM table WHERE (DIFFERENCE(firstname,'edmund') >= 2 OR DIFFERENCE(lastname,'edmund') >= 2) AND (DIFFERENCE(firstname,'stottern') >= 2 OR DIFFERENCE(lastname,'stottern') >= 2) OR (DIFFERENCE(firstname,'Stotter Ede') >= 2 OR DIFFERENCE (lastname,'Stotter Ede') >= 2)
SELECT * FROM table WHERE (firstname LIKE '%edmund%' OR lastname LIKE '%edmund%') AND (firstname LIKE '%stottern%' OR lastname LIKE '%stottern%') OR (firstname LIKE '%Stotter Ede%' OR lastname LIKE '%Stotter Ede%')
Code
No comments avaiable
Add a comment
Name *
Email (won't be displayed) *
Website
Comment *
Security Code *