gpt4 book ai didi

c# - 更改数据表列日期格式

转载 作者:行者123 更新时间:2023-11-29 05:56:27 25 4
gpt4 key购买 nike

我正在处理一个 txt 文件,我必须将该数据插入到 mysql 数据库中。所以我在 Datatable 中获取该信息,然后我可以在我的 gridview 中获取该数据,我必须将该数据插入数据库。我可以这样做,但我对日期列有疑问。

例如,当我尝试插入时,如果我在 datagridview 中有这个日期:12/01/2018 没问题,但是如果我有 17/01/2018 没有插入,我已经手动更改并且我已经探测过它.

这是阅读文本:

string LogAutoriz_fileName = Server.MapPath("~/Files/") + User.Identity.Name.ToString() + "_" + Path.GetFileName(fup_LogAutoriz_File.PostedFile.FileName);
fup_LogAutoriz_File.SaveAs(LogAutoriz_fileName);

DataTable dt = new DataTable();

List<string[]> list = new List<string[]>();
int maxItem = 0;
using (System.IO.TextReader tr = File.OpenText(LogAutoriz_fileName))
{
string line;
while ((line = tr.ReadLine()) != null)
{
string[] items = line.Trim().Split(' ');
if (maxItem <= items.Count())
{
maxItem = items.Count();
}
list.Add(items);
}


//Crear las columnas del DataTable de Datos
dt.Columns.Add("Comprobante", typeof(string));
dt.Columns.Add("Serie_Comprobante", typeof(string));
dt.Columns.Add("Ruc_Emisor", typeof(string));
dt.Columns.Add("RazonSoc_Emisor", typeof(string));
dt.Columns.Add("Fecha_Emision", typeof(string));
dt.Columns.Add("Fecha_Autoriz", typeof(string));
dt.Columns.Add("Tipo_Emision", typeof(string));
dt.Columns.Add("Ident_Receptor", typeof(string));
dt.Columns.Add("Basura", typeof(string));
dt.Columns.Add("Clave_Acceso", typeof(string));
dt.Columns.Add("Numero_Autor", typeof(string));
dt.Columns.Add("Importe_Total", typeof(string));



foreach (var items in list)
{
dt.Rows.Add(items);
}


//cargar al grid
this.gvwAutorizaciones.DataSource = dt;
this.gvwAutorizaciones.DataBind();

这是为了在数据库中插入每条 gridview 记录:

try
{
using (MySqlConnection sqlCon = new MySqlConnection(conn))
{
using (MySqlCommand cmd = new MySqlCommand())
{
cmd.CommandText = "Insert into autorizaciones " +
"(comprobante, Serie_Comprobante, Ruc_Emisor, RazonSoc_Emisor, " +
"Fecha_Emision, Fecha_Autorizacion, " +
"Tipo_Emision, Ident_Receptor, Clave_Acceso, Numero_Autorizacion) " +
"values(" +
"'" + comprob + "', " +
"'" + serComprob + "', " +
"'" + rucEmisor + "', " +
"'" + razSocEmi + "', " +
"'" + FecEmisor + "', " +
"'" + FecAutoriz + "', " +
"'" + tipoEmision + "', " +
"'" + identRecep + "', " +
"'" + claveAcceso + "', " +
"'" + numAutoriz + "')";
cmd.Connection = sqlCon;
sqlCon.Open();
cmd.ExecuteNonQuery();
sqlCon.Close();
}
}
}

catch (MySqlException ex)
{
}

我在 foreach 中调用它,我可以插入记录,但对于日期,我有这个问题。

有没有办法格式化列数据表,例如“yyyy-mm-dd”?

如果有人可以帮助我,

非常感谢最好的问候

最佳答案

我想,您应该更改列的类型,因为它是一种字符串。

DateTime newDate= DateTime.Parse(stringDate);---> 您可以使用它来将字符串转换为日期,

string s = "13/5/2014 12:00:00 AM";    
var date = DateTime.ParseExact(s, "dd/M/yyyy hh:mm:ss tt",
CultureInfo.InvariantCulture);

您可以使用上面的代码块来更改日期时间的格式。

您还可以在创建数据表之前确定您的数据表列类型,例如,

DataColumn colDateTime = new DataColumn("DateTimeCol");   
colDateTime.DataType = System.Type.GetType("System.DateTime");

我的意思是,我认为您遇到了类型问题,所以我希望这对您有所帮助。

关于c# - 更改数据表列日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49039697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com