我在数据库中有 DateTime 作为字符串,例如:6@11@2012@1@37 我有这样的解码方法:
public static DateTime DecodeTime(string time)
{
int day = Int32.Parse(time.Split('@')[0].Trim());
int month = Int32.Parse(time.Split('@')[1].Trim());
int year = Int32.Parse(time.Split('@')[2].Trim());
int hour = Int32.Parse(time.Split('@')[3].Trim());
int minute = Int32.Parse(time.Split('@')[4].Trim());
DateTime decode = new DateTime(year, month, day, hour, minute, 0);
return decode;
}
我想做的是尝试将信息放入数据集中,如下所示:
public DataSet GetAllBooking()
{
string connString = ConfigurationManager.ConnectionStrings["SQL2012_892524_amritConnectionString"].ConnectionString;
DataSet dataSet = new DataSet();
// Create connection object
//OleDbConnection oleConn = new OleDbConnection(connString);
SqlConnection oleConn = new SqlConnection(connString);
try
{
oleConn.Open();
string sql = "SELECT TOP (50) Driver.FirstName + Driver.LastName AS DriverName, Booking.BookingId, Driver.CarId AS CarUsed, Booking.CreateDateTime AS BookingDateTime, Booking.Status FROM Booking INNER JOIN Customer ON Booking.CustomerId = Customer.CustomerId INNER JOIN Driver ON Booking.DriverId = Driver.DriverId ORDER BY Booking.BookingId DESC";
SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, oleConn);
dataAdapter.Fill(dataSet, "Booking");
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
oleConn.Close();
}
if (dataSet.Tables.Count <= 0)
return null;
else
return dataSet;
}
数据库中将日期和时间保存为字符串的列是 CreationTime。
是否可以通过调用 DecodeTime 方法在 sql 中对这些时间进行编码并将其显示到 gridview。