2014-02-26 165 views
1

我有以下结构的SQL数据库: Databank Structure:节省时间到SQL数据库

我有4 MaskedTextBox为:

 (Structure) 
     DateFrom: 0000.00.00 
     DateFromTime: 00:00:00 
     DateTo: 0000.00.00 
     DateToTime: 00:00:00 

SqlCommand cmd = new SqlCommand("INSERT INTO TABELLE2 (MessageHeadline, MessageText, SpecifyUser, CreateDate, CreateTime, CreateUser, DateFrom, DateFromTime, DateTo, DateToTime) VALUES (@MessageHeadline, @MessageText, @SpecifyUser, @CreateDate, @CreateTime, @CreateUser, @DateFrom, @DateFromTime, @DateTo, @DateToTime)"); 
        cmd.CommandType = CommandType.Text; 
        cmd.Connection = connection; 
        cmd.Parameters.AddWithValue("@MessageHeadline", TB_MSGHeadline.Text); 
        cmd.Parameters.AddWithValue("@MessageText", TB_MSGText.Text); 
        cmd.Parameters.AddWithValue("@SpecifyUser", TB_SpecifyUser.Text); 
        cmd.Parameters.AddWithValue("@CreateDate", CreateDate); 
        cmd.Parameters.AddWithValue("@CreateTime", CreateTime); 
        cmd.Parameters.AddWithValue("@CreateUser", CreateUser); 
        cmd.Parameters.AddWithValue("@DateFrom", MTB_DateFrom.Text); 
        cmd.Parameters.AddWithValue("@DateFromTime", MTB_DateFromTime.Text); 
        cmd.Parameters.AddWithValue("@DateTo", MTB_DateTo.Text); 
        cmd.Parameters.AddWithValue("@DateToTime", MTB_DateToTime.Text); 
        connection.Open(); 

        cmd.ExecuteNonQuery(); 

        TB_MSGHeadline.Clear(); 
        TB_MSGText.Clear(); 
        TB_SpecifyUser.Clear(); 

最后,我想从我的MasketTextBox保存这些值到我的数据库以供以后使用它们。

enter image description here

我试图改变结构,并尝试一些SQL日期/时间的形成,但我得到的错误:

+0

为什么要分割日期和时间? – Alexander

+0

我必须检查他们分离@亚历山大 – Schrader

回答

2

你传递的参数DATE的格式不正确。您需要将它们作为有效的DateTime传递给您的MaskedTextBox值看起来不是。

例如,@DateFromSQL Date数据类型。你应该通过一个有效的参数,如DateTime

cmd.Parameters.AddWithValue("@DateFrom", DateTime.Now); 

您可能需要解析MaskedTextBox中值正确使用DateTime.TryParse

DateTime parsedDate; 
bool success = DateTime.TryParse(MaskedInputOne.Text, out parsedDate); 

if (success) { 
    cmd.Parameters.AddWithValue("@DateFrom", parsedDate); 
} 

在这种情况下,我们只需要添加的参数,如果转换成功。

+1

谢谢!工作完美...我现在把它分成日期/时间的To和From,它把它写入我的databse完美... :) 你有一个代码示例来检查日期,所以它不能以往? – Schrader

+0

@ Karl-Heinz - 很高兴帮助。这是一个新问题,您应该在此发布另一个问题。 –

+0

我会尽力解决这个问题,如果我有一些问题,我会创建一个新的问题:) Thanks ^^ – Schrader