1
votes

Comment récupérer les données de 2 colonnes combinées dans la base de données et les afficher dans la liste déroulante?

J'ai une table -> classe - id, date, heure, remarque
Dans mon application asp.net, je souhaite afficher la date et l'heure ensemble dans la liste déroulante.
REMARQUE: l'heure est au format chaîne (par exemple 9h00 - 11h00, 12h30 - 1h00)
Je ne suis pas sûr que cela soit faisable. Veuillez m'en informer.

Actuellement, je n'arrive qu'à afficher la date. Veuillez consulter le code ci-dessous

        con.Open();
        SqlCommand com = new SqlCommand("Select id,Date,Time from class", con);
        com.ExecuteNonQuery();
        DataTable dt = new DataTable();
        SqlDataAdapter dA = new SqlDataAdapter(com);
        dA.Fill(dt);
        dd1.DataSource = dt;
        dd1.DataTextField = "Date"; //want to show date and time
        dd1.DataValueField = "id";
        dd1.DataBind();
        con.Close();

Résultats attendus - "12/01/2019 9: 00-11: 00"


1 commentaires

Si vous pouvez spécifier des noms de champ, essayez ceci. "Sélectionnez l'id, concat (date, heure) de la classe"


3 Réponses :


0
votes

J'ai essayé le code ci-dessous et il fonctionne maintenant:

con.Open();
sql = @ "SELECT Date + ' ' + Time AS Session, id, remark FROM class ORDER BY Session ASC;";
SqlCommand com = new SqlCommand(sql, con);
com.ExecuteNonQuery();
DataTable dt = new DataTable();
SqlDataAdapter dA = new SqlDataAdapter(com);
dA.Fill(dt);
dd1.DataSource = dt;
dd1.DataTextField = "Session";
dd1.DataValueField = "id";
dd1.DataBind();
con.Close();


0 commentaires

0
votes

Quelle base de données vous utilisez?

Dans SQL Server, vous pouvez utiliser la requête suivante:

SELECT id, CONVERT(VARCHAR, Date , 3) + ' ' + Time AS Date 
FROM class

L'autre code restera le même.


0 commentaires

1
votes

En supposant que vous utilisez un serveur SQL, vous pouvez modifier votre requête comme suit:

SELECT ID, CONVERT(char(10), Date, 103) + ' ' + Time [Date]
FROM class

Et utiliser la colonne Date comme DataTextField


0 commentaires