如何将nvarchar转换为日期?

问题描述 投票:1回答:2

我试图从两个日期之间的数据库中检索数据,但它显示错误将数据类型nvarchar转换为日期。这是我的代码:

protected void Calendar1_SelectionChanged(object sender, EventArgs e)
    {        
        TextBox1.Text = Calendar1.SelectedDate.ToString("dd/MM/yyyy");
    }

    protected void Calendar2_SelectionChanged(object sender, EventArgs e)
    {
        TextBox2.Text = Calendar2.SelectedDate.ToString("dd/MM/yyyy");            
    }
c# asp.net .net
2个回答
1
投票

首先,如果将数据库表的列的数据类型从nvarchar更改为datetime会更好,因为在这种情况下,您可以将.net datetime直接存储到表的列中,并将其检索到datetime变量。或者您可以将列更改为varchar,因为它占用的内存空间比nvarchar多,然后您可以将日期时间值存储为字符串,当您检索时可以转换为所需的格式网络。您还可以使用DateTime.Parse()或ParseExact()从日期文本和时间创建日期时间对象。

string iDate = "2005-05-05";
DateTime oDate = DateTime.Parse(iDate);
MsgBox(oDate.Day & " " & oDate.Month & "  " & oDate.Year)

string iString = "2005-05-05 22:12 PM";
DateTime oDate = DateTime.ParseExact(iString, "yyyy-MM-dd HH:mm tt",null);
MessageBox.Show(oDate.ToString());

0
投票

如果我说得对,TextTextBox1TextBox1属性用于创建具有日期时间条件的SQL查询。如果是这样,请在转换为字符串时使用以下格式说明符:"yyyy-MM-dd HH:mm:ss"

© www.soinside.com 2019 - 2024. All rights reserved.