我在.Net C#中开发了一个应用程序,用于在MySQL数据库中检索和插入数据。
要建立连接,我使用MySqlConnection
...
在我的数据库中,有几个表,每个表包含格式为yyyy-mm-dd hh: mm: ss
)
我的问题是,当我按SQL请求获取列时,我的日期格式为dd-mm-yyyy hh:mm:ss
)。
我可以使用DateFormat()
格式化列,但是有很多列日期,请求可以更改。
我想知道是否有办法在字符串MyConnection
中强加日期格式或类似的东西。
我的字符串是:
string MyConnection = "datasource=192.168.0.1;port=3306;username=" + this.textBoxLogin.Text.ToString().Trim() +
";password=" + this.textBoxPassword.Text.ToString().Trim() + ";AllowZeroDateTime=True;TreatTinyAsBoolean=False;";
在.xls
文件中查询+获取数据+插入:
MySqlConnection conn = new MySqlConnection(MyConnection);
MySqlDataAdapter dataAdapter = new MySqlDataAdapter();
conn.Open();
dataAdapter.SelectCommand = new MySqlCommand("Select * From table;", conn);
MySqlCommandBuilder commandBuilder = new MySqlCommandBuilder(dataAdapter);
////get data
DataTable dataTable = new DataTable();
dataAdapter.Fill(dataTable);
////insert in .xls File
DataSet dataSet = new DataSet();
dataSet.Locale = System.Threading.Thread.CurrentThread.CurrentCulture;
dataSet.Tables.Add(dataTable);
CreateWorkbook("test\\Export.xls", dataSet);
数据库中的日期格式:2015/02/25 13:28:25
我的.xls
文件中的日期格式:25/02/2015 13:28:25
答案 0 :(得分:1)
如果数据库以date
,datetime
或timestamp
数据类型存储数据,.NET会将其放在DateTime
结构中。这很好,因为这只是数据的结构,而不是它的直观表示。
如果您想更改程序的默认日期格式(对所有日期都修改一次),您可以将CurrentCulture
设置为您需要的文化:
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
如果您只需要设置日期格式,可以设置Thread.CurrentThread.CurrentCulture.DateTimeFormat
和Thread.CurrentThread.CurrentUICulture.DateTimeFormat
。