C# 数据采集器c中的dd/MM/yyy hh:MM:ss格式#

C# 数据采集器c中的dd/MM/yyy hh:MM:ss格式#,c#,format,datapicker,C#,Format,Datapicker,我正试图在数据库(Sql Server 2008)中插入一条记录,我需要以dd/MM/yyyy hh:MM:ss格式插入日期 我正在尝试格式化数据采集器的值。这是我的代码: public Manas() { InitializeComponent(); datep.CustomFormat = "dd/MM/yyyy hh:mm:ss"; datep.Format = DateTimePickerFormat.Custom; } sbQuery1

我正试图在数据库(Sql Server 2008)中插入一条记录,我需要以dd/MM/yyyy hh:MM:ss格式插入日期

我正在尝试格式化数据采集器的值。这是我的代码:

public Manas()
{
    InitializeComponent();
    datep.CustomFormat = "dd/MM/yyyy hh:mm:ss";
    datep.Format = DateTimePickerFormat.Custom;
}            

sbQuery1S.Append("UPDATE AC SET date= '" + datep.Value.ToString() + "' WHERE NTIVO='" + txtct.Text.ToString() + "' AND NUMA ='" + txia.Text.ToString() + "' AND NUIPO='" + txtpo.Text.ToString() + "' AND SUACT='" + txtSNum.Text.ToString() + "'");
                cmd1S.CommandText = sbQuery1S.ToString();
                cmd1S.Connection = conn;
                cmd1S.ExecuteNonQuery();
问题是数据选择器的格式是dd//MM/yy hh:MM:ss


知道如何更改它吗?

永远不要这样做,因为这会导致SQL注入漏洞。您必须使用参数

cmd1S.CommandText = "UPDATE AC SET date = @p1 WHERE NTIVO = @p2 AND NUMA = @p3 AND NUIPO=@p4 AND SUACT=@p5";
var p1 = cmd1S.CreateParameter();
p1.Name = "p1";
p1.Value =  DateTime.ParseExact(datep.Value, "dd/MM/yyyy hh:mm:ss", CultureInfo.InvariantCulture)
cmd1S.Parameters.Add(p1);
//other parameters
cmd1S.Connection = conn;
cmd1S.ExecuteNonQuery();

您已经在
CustomFormat
中清楚地设置了它。。改变它。。更改该字符串。“我需要以dd/MM/yyyy hh:MM:ss格式插入我的日期”嗯,为什么?为什么要将日期/时间值作为文本保存到数据库中?为什么不使用专门用于此目的的类型,即datetime或datetime2?我需要dd/MM/yyy hh:MM:ss,它会给我dd/MM/yy hh:MM:ss。。。注意“yy”@SimonWhitehead@jmcilhinney错了吗?这是一个“日期时间”将日期/时间值存储为文本是否错误?绝对地您是否将数字存储为文本?如果不是,那么为什么要将日期/时间存储为文本呢?我这样做了,但现在它在fecha表达式的格式部分(如果已知)中显示了
error=