Wie fügen Sie zwei Werte in der Spalte zu einer Liste
Wie kann ich zwei Spalten-Wert eine Liste, die zwei Spalte in der anderen Tabelle. E-Mail ist in Tabelle tbl_user und Gruppenname ist in tbl_group Tabelle. Und ich will das Präfix text für die E-Mail-und Gruppen-Namen für die "auto-vervollständigen" text box. Jetzt mit der Abfrage, die ich bin in der Lage, fügen Sie die E-Mail-id zu der Liste und wenn ich Typ arr dann E-Mail-id, beginnend mit arr angezeigt, wie kann ich es für beide groupname und emailID
public static string[] GetCompletionList(string prefixText, int count, string contextKey)
{
MySqlCommand command = new MySqlCommand();
string textforlist = "SELECT tbl_user.Email from tbl_user WHERE tbl_user.OrganisationID = '1' AND UserActive='Yes'AND tbl_User.Email like '" + prefixText + "%'";
DataSet ds = new DataSet();
MySqlParameter[] param = new MySqlParameter[1];
param[0] = new MySqlParameter("@OrganisationID", MySqlDbType.Int32);
param[0].Value = count;
command.Parameters.AddWithValue("@OrganisationID", count);
using (DataServer server = new DataServer())
{
ds = server.ExecuteQuery(CommandType.Text, textforlist, param);
}
string textforlist1 = "SELECT tbl_group.GroupName from tbl_group WHERE tbl_group.OrganisationID = '1' AND GroupActive='Yes'AND tbl_group.GroupName like '" + prefixText + "%'";
DataSet ds1 = new DataSet();
using (DataServer server = new DataServer())
{
ds1 = server.ExecuteQuery(CommandType.Text, textforlist1, param);
}
List<string> cityList = new List<string>();
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
cityList.Add(ds.Tables[0].Rows[i][0].ToString());
cityList.Add(ds1.Tables[0].Rows[i][0].ToString());
}
return cityList.ToArray();
}
Wie stellen Sie sicher, es gibt die array-auch wenn 1 der Wert null ist
Nur zwei
Ich möchte hinzufügen, int newOrgID = Konvertieren.ToInt32(Session["uOrgID"].ToString()); Holen Sie sich diesen Wert, und fügen Sie diese zu param Wert für @OrganisationID
Nur zwei
for
SchleifenIch möchte hinzufügen, int newOrgID = Konvertieren.ToInt32(Session["uOrgID"].ToString()); Holen Sie sich diesen Wert, und fügen Sie diese zu param Wert für @OrganisationID
InformationsquelleAutor Mark | 2011-10-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fügen Sie einfach eine andere Spalte Wert? Vielleicht verstehe ich nicht, die Frage richtig, aber dieser sollte einfach sein - deine Tabelle hat zwei Spalten,
Email
ist die erste undGroupName
die zweite:Können Sie ändern Sie Ihre sql-Abfrage zur Einschränkung der zurückgegebenen Gruppe Namen, die ähnlich wie Sie derzeit tun Sie es für E-Mail - sollten Sie wirklich verwenden von SQL-Parametern für diese aber, sonst sind Sie offen für SQL-injection-Angriffe.
Edit:
Mit Ihrer aktualisierten code, den Sie verwenden sollten zwei for-Schleifen
Man könnte hinzufügen, eine weitere
Where
Bedingung in den SQL:AND tbl_group.GroupName like '" + prefixText + "%'"
Ich sehe jetzt wirklich die Gruppe Namen und E-Mail-Anfragen sollten unabhängig sein. Persönlich in diesem Fall würde ich zwei separate SQL-Abfragen.
Ich bin jetzt dabei einen separaten Abfrage und Sie zur Liste hinzufügen, zum Beispiel, wenn es E-Mail-id wie [email protected] und Gruppen-Namen als E-Mail, dann werden beide angezeigt. Wenn es keine Gruppe namens " E-Mail-die E-Mail-id wird nicht angezeigt. Auch wenn es nicht groupname beginnend mit ema, ich sollte die Anzeige der emailid beginnend mit ema. Wie das geht
Mark: Das ist, weil Sie Ihre Abfrage mit einem inner join, erfordert eine übereinstimmung auf beiden Tabellen. Sie könnten entweder einen outer-join und zu verarbeiten, die null-Spalten oder zwei separate Abfragen, mit zwei ExecuteQuery Anrufe
InformationsquelleAutor BrokenGlass
Falls Ihre Tabelle Spalte Auswahl erhöhen, dann wird die Liste gefüllt mit Benutzerdefinierten Objekten. Zu erreichen, müssen Sie erstellen ein benutzerdefiniertes Objekt der Klasse zuerst.
InformationsquelleAutor Hassan