Hey Leute,
ich brauch mal wieder euere Hilfe.
Und zwar habe ich eine SQL Datenbank mit 2 Spalten.
In der einen Spalte steht eine ID und in der anderen eine Domain.
Mein Ziel:
Ich möchte einen Teil der Domain eingeben (z.B. "mycsharp") (Kompletter Text in meiner Domain-Spalte lautet jedoch: "www.mycsharp.de")
Und anschließend die ID zurückbekommen.
Mein Problem:
Ich muss immer komplett "www.mycsharp.de" anstatt mycsharp oder einfach nur sharp eingeben.
Kann mir jemand weiterhelfen?
Console.WriteLine("Geben Sie eine Domain ein nach der gesucht werden soll:");
string eingabe = Console.ReadLine();
SqlCommand sqlCommand = new SqlCommand();
sqlCommand.Connection = new SqlConnection("Data Source=Server;Initial Catalog=test;Integrated Security=True;Connect Timeout=20"); // SQL Verbindungsstring
sqlCommand.Connection.Open();
sqlCommand.Parameters.Add("@DM", eingabe);
sqlCommand.CommandText = "SELECT MedienId FROM Domain.List WHERE Domain LIKE @DM"; // SQL Query
SqlDataReader sqlDataReader = sqlCommand.ExecuteReader(); // Select ausführen
while (sqlDataReader.Read()) // Lese solange Werte vorhanden sind
{
int variable = sqlDataReader.GetInt32(0); // Spalte 0 der Abfrage auslesen
Console.WriteLine(sqlDataReader.GetInt32(0));
}
sqlCommand.Connection.Close();
Console.WriteLine("\n\n");
OK danke hypersurf für die schnelle Antwort. Ich habe meinen Code jetzt dementsprechend angepasst. Jetzt wird mir aber gar kein Ergebnis mehr ausgegeben, nicht mal wenn ich die Domain komplett eingebe??
Korrigiere:
Funktioniert doch.
sqlCommand.Parameters.Add("@MID",'%' + eingabe + '%');
sqlCommand.Parameters.Add("@MID", '%' + eingabe +** '%'**);
es hat nur dieser kleine Zusatz gefehlt " + '%' ".
Danke hypersurf!
Hallo,
wenn du das '%' nur am Ende hast, muss der Beginn der Zeichenkette stimmen.
Es gilt folgendes bei der Abfrage mit Like: Gegeben ist der Eintrag 'www.mycsharp.de'.
Definierst du jetzt den Parameter mit 'Wert + %' musst du 'www.mycsharp' eingeben, damit du die vollständige Url erhältst. Natürlich würde auch 'www.myc' reichen.
Möchtest du jedoch auch das 'www.' weg lassen, musst du auch vor dem Wert ein '%' anfügen.
sqlCommand.Parameters.Add("@MID", String.Format("%{0}%", eingabe));
Wissen ist nicht alles. Man muss es auch anwenden können.
PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager |
inflames2k vielen Dank für die Information! Ist mir noch gar nicht aufgefallen. 👍 😁 👍