たとえば、データベースに 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でエンコードし、それをグリッドビューに表示することは可能ですか?