这个搜索代码的日期格式是否如下所示?与否
本文关键字:与否 是否 格式 搜索 代码 日期 | 更新日期: 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());
}
}
}
}
}