簡體   English   中英

在文本框中找不到輸入日期

[英]Cannot find the input date into the textbox

如何在數據網格視圖中搜索日期? 我有一個我認為是正確的示例代碼,但是為什么不搜索呢?

在此處輸入圖片說明

    private void textBox3_TextChanged(object sender, EventArgs e)
    {

        if (string.IsNullOrEmpty(textBox3.Text))
        {
            SqlDataAdapter sda = new SqlDataAdapter("Select * from STUDENT_RESEARCH_PROJECTS WHERE COURSE LIKE '" + comboBox2.Text + "%'", con);
            DataTable data = new DataTable();
            sda.Fill(data);
            dataGridView1.DataSource = data;
        }

        else
        {
            SqlDataAdapter sda = new SqlDataAdapter("SELECT ACCESSION_NO,TITLE_PROJECT,CATEGORY,YEAR,COURSE,DATE,Student_Name1,Student_Name2,Student_Name3,Student_Name4,Student_Name5,RELATED_TITLE1,RELATED_TITLE2,RELATED_TITLE3,RELATED_TITLE4,RELATED_TITLE5 FROM STUDENT_RESEARCH_PROJECTS WHERE DATE LIKE'" + textBox3.Text + "%'", con);
            DataTable data = new DataTable();
            sda.Fill(data);
            dataGridView1.DataSource = data;
        }
    }

除非您的DATE字段是字符串,否則您不能使用LIKE進行日期比較

您還需要檢查日期數據如何保存到數據庫中

例如在我的數據庫中,我正在使用datetime ,它被保存為2018-03-20 07:25:58.557

因此,當您進行查詢時,您需要輸入日期格式才能被接受

首先要注意SQL注入。

您不能在Date列上使用like運算符。

您的搜索文本框值日期格式為03/20/2018(mm/dd/yyyy)並且數據庫列包含的內容通常與2018-03-20 00:00:00.000有所不同,以便在從數據庫查詢時使用日期更改格式像這樣。

    private void textBox3_TextChanged(object sender, EventArgs e)
    {

        if (string.IsNullOrEmpty("textBox3.Text"))
        {
            string query = "Select * from STUDENT_RESEARCH_PROJECTS WHERE COURSE LIKE @COURSE";
            SqlCommand cmd = new SqlCommand(query, con);
            cmd.Parameters.AddWithValue("@COURSE", comboBox2.Text);

            SqlDataAdapter sda = new SqlDataAdapter(cmd);
            DataTable data = new DataTable();
            sda.Fill(data);
            dataGridView1.DataSource = data;
        }

        else
        {
            string query = "SELECT ACCESSION_NO,TITLE_PROJECT,CATEGORY,YEAR,COURSE,DATE,Student_Name1,Student_Name2,Student_Name3,Student_Name4,Student_Name5,RELATED_TITLE1,RELATED_TITLE2,RELATED_TITLE3,RELATED_TITLE4,RELATED_TITLE5 FROM STUDENT_RESEARCH_PROJECTS WHERE CONVERT(varchar(10) ,DATE, 101)  = @DATE";
            SqlCommand cmd = new SqlCommand(query, con);
            cmd.Parameters.AddWithValue("@DATE", textBox3.Text);
            SqlDataAdapter sda = new SqlDataAdapter();
            DataTable data = new DataTable();
            sda.Fill(data);
            dataGridView1.DataSource = data;
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM