使用日期时间选择器时的错误信息[英] Error message while using datetime picker

问题描述

你好,

我开发了一个带有日期时间选择器的小型 Windows 窗体应用程序.当我单击一个按钮时,日期时间选择器中的日期将存储到 sql 数据库中.但是从 01/02/2012 到 12/02/2012 的日期被存储.但是,当输入 13/02/2012 时会显示错误
"将 varchar 数据类型转换为 datetime 数据类型导致值超出范围"

推荐答案

您需要检查您的日期时间格式(可能基于您或服务器的区域设置).
从 01 到 12 的日期也可能存储不正确.月份存储为前两个字符,而不是预期的中间字符.

不要将 DateTime 转换为字符串,就像你现在正在做的那样.使用参数化查询,并直接传递 DateTime.这样,您不必担心本地化日期格式(当前在您的 PC 上为 dd/MM/yyyy)与 SQL Server 上的 ISO (yyyy-MM-dd)

SqlCommand cmd = new SqlCommand("INSERT INTO myTable (dateColumn) VALUES (@DT)", con);cmd.Parameters.AddWithValue("@DT", myDateTimePicker.Value);

本文地址:https://www.itbaoku.cn/post/1394955.html