Der Wert von insert-parameter des SqlDataSource-im codebehind

Habe ich diese SqlDataSource in meinem Formular:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 

        InsertCommand="INSERT INTO [contact] ([Name], [phone], [email], [comment], [time]) VALUES (@Name, @phone, @email, @comment, @time)" 
        oninserting="SqlDataSource1_Inserting" >
        <InsertParameters>
            <asp:ControlParameter ControlID="TBname" Name="Name" PropertyName="Text" Type="String" />
            <asp:ControlParameter ControlID="TBphone" Name="phone" PropertyName="Text" Type="String" />
            <asp:ControlParameter ControlID="TBemail" Name="email" PropertyName="Text" Type="String" />
            <asp:ControlParameter ControlID="TBmessage" Name="comment" PropertyName="Text" Type="String" />
        </InsertParameters>
    </asp:SqlDataSource>

Und ich habe diese Funktion zum speichern der Werte der Textfelder in den ersten vier Felder und die aktuelle Uhrzeit im fünften Feld:

protected void SaveToDB(object sender, EventArgs e)
{
        SqlDataSource1.InsertParameters["time"].DefaultValue = DateTime.Now.ToString();
        SqlDataSource1.Insert();
}

4 von 5 Felder bekommen Ihre Werte von einigen Textboxen in meiner form. nun problem ist das Letzte Feld: time ich kann nicht setzen Sie den Wert. Wenn die Funktion ausgeführt wird, gibt Ihnen dieser Fehler:

Exception Details: System.Daten.SqlClient.SqlException: String oder
Binärdaten würden abgeschnitten werden. Die Anweisung wurde beendet.

Was soll ich tun?

vielen Dank für die Zeit nehmen.

DateTime.Nun.ToShortDateString(); versuchen Sie, diese
Ja! das tun werde. zuerst schreiben Sie bitte Ihr Kommentar als eine Antwort, so kann ich setzen Sie ein Häkchen wahre Antwort. Typ "Zeit" - Feld in meiner db war char(10), die ich gemacht es char(Max) - und es ist gut jetzt. danke,
fertig! froh, dass ich helfen konnte ^^

InformationsquelleAutor Mahyar Kakaee | 2012-06-02

Schreibe einen Kommentar