这个搜索代码的日期格式是否如下所示?与否

本文关键字:与否 是否 格式 搜索 代码 日期 | 更新日期: 2023-09-27 18:03:44

这个搜索代码是否具有以下日期格式?获取日期格式"dd-MM-yyyy"。我的表是:

id |   dat    | user | remain
-----------------
1 | 01-03-2013 | x | 1000
----------------
2 | 01-03-2013 | x | 1200
----------------
3 | 02-03-2013 | y | 1100
----------------
4 | 02-03-2013 | y | 1300
----------------
5 | 03-03-2013 | z | 1200
----------------
6 | 03-03-2013 | z | 1400
-------------------------
private void textBox10_Leave(object sender, EventArgs e)
    {
        if ((textBox10.Text == "yyyy/MM/dd") || (textBox10.Text == "dd/MM/yyyy") || (textBox10.Text == "yyyy-MM-dd"))
        {
            textBox10.Text = "dd-MM-yyyy";
            using (SqlConnection cn = new SqlConnection(Class1.x))
            {
                cn.Open();
                string cm = "select id from item_treasury where dat='" + textBox10.Text + "' order by id";
                using (SqlCommand cmd = new SqlCommand(cm, cn))
                {
                    using (SqlDataReader dr = cmd.ExecuteReader())
                    {
                        while (dr.Read() == true)
                        {
                            if (dr.HasRows == false)
                            {
                                MessageBox.Show("xxxxxxxxxxxxxxxxxxxx");
                                this.Close();
                            }
                            comboBox1.Items.Add(dr[0].ToString());
                        }
                    }
                }
            }
        }
    }

我想更正这段代码。请帮帮我吧!

这个搜索代码的日期格式是否如下所示?与否

我认为你的文本框中有一个日期,比如31/12/2012,所以你确实想把它作为一个日期,并使用该日期进行sql查询。在这一刻,你只是寻找文本框中的格式字符串。

DateTime date;
if (DateTime.TryParse(textBox10.Text, (... date formats in string array), null, null, out date)
{
    ....
         string cm = "select id from item_treasury where dat='" + date.ToString("dd-MM-yyyy") + "' order by id";
    ....
}

最好是将日期保存为数据库中的日期,并使用参数化查询来检索数据。

谢谢大家!最后的右代码:

DateTime date;
        string[] formats = { "dd/MM/yyyy", "dd-MM-yyyy", "d/MM/yyyy", "d-MM-yyyy", "yyyy/MM/dd", "yyyy-MM-dd", "yyyy/M/dd", "yyyy-M-dd", "dd/M/yyyy", "dd-M-yyyy" }; //////////if (DateTime.TryParse(textBox10.Text, null, System.Globalization.DateTimeStyles.None, out date))
        if (DateTime.TryParseExact(textBox10.Text, formats, System.Globalization.CultureInfo.InvariantCulture, DateTimeStyles.None, out date))
        {
            using (SqlConnection cn = new SqlConnection(Class1.x))
            {
                cn.Open();
                string cm = "select id from item_treasury where dat='" + date.ToString("yyyy-MM-dd") + "' order by id";
                ///////////****
                using (SqlCommand cmd = new SqlCommand(cm, cn))
                {
                    using (SqlDataReader dr = cmd.ExecuteReader())
                    {
                        while (dr.Read() == true)
                        {
                            if (dr.HasRows == false)
                            {
                                MessageBox.Show("xxxxxxxxxxxxxxxxxx");
                                this.Close();
                            }
                            comboBox1.Items.Add(dr[0].ToString());
                        }
                    }
                }
            }
        }