0
votes

Je souhaite sélectionner des données entre deux dates de mon serveur. C #

J'essaie de récupérer des données entre deux dates que l'utilisateur sélectionnera dans les listes déroulantes.

J'ai essayé quelque chose: voici mon code. P>

string dateFrom = DropDownList1.Text.ToString();
            string dateTo = DropDownList2.Text.ToString();

            string myconstring = ConfigurationManager.ConnectionStrings["KanbanConnectionString"].ConnectionString;
            using (SqlConnection conn = new SqlConnection(myconstring))
            {
                DataTable dat = new DataTable();
                using (SqlCommand cmd = new SqlCommand("SELECT * FROM city.xls WHERE Date BETWEEN @dateFrom AND  @dateTo"))
                {
                    cmd.Parameters.AddWithValue("@dateFrom", dateFrom);
                    cmd.Parameters.AddWithValue("@dateTo", dateTo);
                    conn.Open();
                    SqlDataAdapter da = new SqlDataAdapter();
                    da.SelectCommand = cmd;
                    da.Fill(dat);
                    D2.DataSource = dat;
                    D2.DataBind();
                }
            }


4 commentaires

Vérifiez que vous avez une chaîne de connexion appelée kanbanconnectionstring dans votre fichier de configuration


@Programnik oui je fais.


Vous manquez ce cmd.connection = conn


N'utilisez pas AddWithValue


3 Réponses :


0
votes
conn.Open();
    using (SqlCommand cmd = conn.CreateCommand("SELECT * FROM city.xls WHERE Date BETWEEN @dateFrom AND  @dateTo"))
                    {
                        cmd.Parameters.AddWithValue("@dateFrom", dateFrom);
                        cmd.Parameters.AddWithValue("@dateTo", dateTo);                           
                        SqlDataAdapter da = new SqlDataAdapter();
                        da.SelectCommand = cmd;
                        da.Fill(dat);
                        D2.DataSource = dat;
                        D2.DataBind();
                    }

1 commentaires

Vous devez utiliser la connexion ouverte pour créer la commande ou créer la commande à l'aide de la connexion ouverte. Google la syntaxe de la bonne chose, mais essentiellement, vous ne connectez pas la commande avec la connexion.



3
votes

Ajoutez l'initialisation de la connexion xxx

alors vous êtes prêt à partir :)


0 commentaires

0
votes

Ceci a fonctionné.

DateTime dateFrom = Convert.ToDateTime(DropDownList1.Text);
            DateTime dateTo = Convert.ToDateTime(DropDownList2.Text);

            string myconstring = ConfigurationManager.ConnectionStrings["KanbanConnectionString"].ConnectionString;
            using (SqlConnection conn = new SqlConnection(myconstring))
            {
                DataTable dat = new DataTable();
                string find = "SELECT * FROM city WHERE Date BETWEEN @dateFrom AND  @dateTo";
                using (SqlCommand cmd = new SqlCommand(find, conn))
                {
                    cmd.Parameters.AddWithValue("@dateFrom", dateFrom);
                    cmd.Parameters.AddWithValue("@dateTo", dateTo);
                    conn.Open();
                    SqlDataAdapter da = new SqlDataAdapter();
                    da.SelectCommand = cmd;
                    da.Fill(dat);
                    D2.DataSource = dat;
                    D2.DataBind();
                }
            }


0 commentaires