小编Aar*_*med的帖子

将varchar数据类型转换为日期时间数据类型会导致超出范围的值错误

将varchar数据类型转换为日期时间数据类型会导致超出范围的值错误

我正在尝试使用表单将数据输入到我的表中,表单验证和sql server中的日期格式都是dd/mm/yy,但是当我尝试从表单提交数据时,日期高于12 (例如13/12/2012)它抛出一个异常,其原因是"将varchar数据类型转换为日期时间数据类型导致超出范围的值错误",如果我尝试在表单中输入数据以mm/dd/yy格式表示"错误的日期格式",这意味着dd/mm/yy格式是正确的格式

这是我的表格的代码如下:

    private void btnAddProject_Click(object sender, EventArgs e)
    {
        DateTime startDate;
        DateTime endDate;

        if (txtProjectName.Text == "") //client side validation
        {
            MessageBox.Show("Enter Project Name");
            return;
        }

        try
        {
            startDate = DateTime.Parse(txtProjectStart.Text);
            endDate = DateTime.Parse(txtProjectEnd.Text);
        }
        catch (Exception)
        {
            MessageBox.Show("Wrong Date Format");
            return;
        }
        fa.CreateProject(txtProjectName.Text, startDate, endDate, (int)cbCustomers.SelectedValue, ptsUser.Id);
        txtProjectName.Text = "";
        txtProjectStart.Text = "";
        txtProjectEnd.Text = "";
        cbCustomers.SelectedIndex = 0;
        MessageBox.Show("Project Created");
        adminControl.SelectTab(2);
    }// end btnAddProject
Run Code Online (Sandbox Code Playgroud)

这是我DAO中的代码:

public void CreateProject(string name, DateTime startDate, DateTime endDate, int customerId, …
Run Code Online (Sandbox Code Playgroud)

.net c# sql-server-2008 visual-c#-express-2010

3
推荐指数
2
解决办法
3万
查看次数