从SQL Server获取Datetime类型数据到C#

从SQL Server获取Datetime类型数据到C#,c#,sql,sql-server,winforms,datetime,C#,Sql,Sql Server,Winforms,Datetime,我在从SQL Server将数据提取到c#中的变量时遇到问题 这是我的密码 SqlConnection myCon = new SqlConnection(@"Data Source=BROWN-PC\KAZIM;Initial Catalog=Agency;Integrated Security=True"); string lastlogt; string lastlogd; myCon.Open(); SqlCommand cd2 = new SqlCommand(" SELECT

我在从SQL Server将数据提取到c#中的变量时遇到问题

这是我的密码

SqlConnection myCon = new SqlConnection(@"Data Source=BROWN-PC\KAZIM;Initial Catalog=Agency;Integrated Security=True");

string lastlogt;
string lastlogd;

myCon.Open();

SqlCommand cd2 = new SqlCommand(" SELECT TOP 1 * From (select Top 2 * from Agency.dbo.lastlogindt ORDER BY uid DESC) x ORDER BY uid",myCon);

SqlDataReader sdr;
sdr = cd2.ExecuteReader();
while (sdr.Read()) {
    lastlogd = sdr.GetString(2);
    lastlogt = sdr.GetString(3);

}

myCon.Close();
Dates.Text = lastlogd;
timing.Text = lastlogt;
现在的问题是,我从SQL Server中获取数据的列是
date
time
数据类型。我面临的错误是

无法将“System.DateTime”类型的对象强制转换为“System.String”类型


您需要使用
GetDateTime
GetTimeSpan
方法:

while (sdr.Read()) 
{
     lastlogd = sdr.GetDateTime(2);
     lastlogt = sdr.GetTimeSpan(3);
}

对于各种数据类型还有其他方法:

无法将类型“System.Datetime”隐式转换为“string”。非常感谢。它正在工作。lastlogd=sdr.GetDateTime(2.ToSortDateString();lastlogt=sdr.GetTimeSpan(3.ToString();我只是想知道我是否可以将时间格式从24小时改为12小时。?