-1 c# datetime sql-server-2008
如何从DateTimeC# 中的结构仅将日期的时间部分插入 Sql Server 。我想以HH:mm tt(HH:MM AM/PM)格式保存时间
我尝试了以下数据类型:
timetimestampdatetimetime(7)示例查询:
SqlCommand cmd = new SqlCommand("insert into Reminder values ('" + txttitle.Text + "','" + txtdate.Text + "','" + txttime.Text + "','" + Txtmail.Text + "')", conn);
cmd.ExecuteNonQuery();
Run Code Online (Sandbox Code Playgroud)
我想你误解了一些事情..
让我们先看看 C# 方面。ADateTime包含作为数字的日期和时间值。ATimeSpan是时间间隔。这也将这些时间值保留为数字。但是间隔词在这里很重要,因为它没有任何日期或其他类似DateTime. 它保持这个时间长度作为Ticks引擎盖下。
在 SQL Server 端,本机 CLRDateTime用date,datetime或datetime2类型TimeSpan映射并用time类型映射。
AM / PM指示器是一个概念文本的表示DateTime在12小时制格式。这不是一个部分一个的DateTime值。它可能属于DateTime值的字符串表示形式。ATimeSpan不能用 AM 或 PM 表示,因为它是一个时间间隔。这就是为什么,你不能说;7 小时 3 分 1 秒后中午作为TimeSpan。ATimeSpan 不能在中午之前或中午之后。因为它是一个时间间隔。
让我们看看你的例子;
看起来您从其他地方以字符串形式获取标题、日期、时间和邮件。这是我的建议;
如果您真的想在尝试表示 AM/PM 指示符时显示它们;
txtdate.Text和txttime.Text字符串并将其解析为DateTime.DateTime值保存到您的数据库中,使用date,datetime或datetime2(首选)类型的列。DateTime.ToString()与法的自定义日期和时间格式说明符(tt与特定文化的AM / PM指示)。例如;datetimeValue.ToString("HH:mm tt", CultureInfo.InvariantCulture)顺便说一下,当您创建动态 sql 命令时,您应该始终使用参数化查询。这种字符串连接对SQL 注入攻击是开放的。
还建议阅读:要踢的坏习惯:选择错误的数据类型
| 归档时间: |
|
| 查看次数: |
9601 次 |
| 最近记录: |