通过C#和Asp.net将DateTime插入到Acess数据库中

时间:2011-09-03 05:37:39

标签: c# asp.net datetime

这可能是一个非常普遍和老问题,但我仍然苦苦挣扎,最后我在这里张贴:

我要在Access数据库中插入DateTime,但是我在这方面遇到了麻烦。 我的C#代码:

 protected void Button5_Click(object sender, EventArgs e)
    {
        Panel1.Visible = true;
        Panel2.Visible = false;


        String eventname =
            TextBox6.Text;
        String description = TextBox7.Text;

             String coord = TextBox8.Text;

             String venue = TextBox9.Text;

             String time = TextBox10.Text;

             TextBox6.Text = "";
             TextBox7.Text = "";
             TextBox8.Text = "";
             TextBox9.Text = "";
             TextBox10.Text = "";    


        AccessDataSource1.InsertParameters["eventname1"].DefaultValue
            = eventname;
        AccessDataSource1.InsertParameters["description1"].DefaultValue
            = description;
        AccessDataSource1.InsertParameters["coordinator1"].DefaultValue
            = coord;
        AccessDataSource1.InsertParameters["venue1"].DefaultValue
            = venue;
        AccessDataSource1.InsertParameters["time1"].DefaultValue
            = time;
        AccessDataSource1.InsertParameters["time1"].DefaultValue
           = time;
        AccessDataSource1.Insert();

        DataList1.EditItemIndex = -1;
        DataList1.DataBind();
    }

以及相应的Asp.Net脚本:

 <asp:AccessDataSource ID="AccessDataSource1" runat="server" 
        DataFile="~/events.accdb" SelectCommand="SELECT * FROM [upcoming]"

        InsertCommand="INSERT INTO [upcoming] ([eventname], [description],[coordinator], [venue],[time])
         VALUES (@eventname1, @description1,@coordinatior1, @venue1, @time1)" >


        <InsertParameters>
          <asp:Parameter Name="eventname1" Type="String" />
          <asp:Parameter Name="description1" Type="String" />
          <asp:Parameter Name="coordinator1" Type="String" />
          <asp:Parameter Name="venue1" Type="String" />
          <asp:Parameter Name="time1" Type="DateTime" />

        </InsertParameters>

    </asp:AccessDataSource>
<asp:Panel ID="Panel2" runat="server">
   <table>
            <tr><td><asp:Label ID="Label6" runat="server" Text="Name:"></asp:Label></td>
           <td class="style1"> <asp:TextBox ID="TextBox6" runat="server" 
                    Height="24px" Width="548px"></asp:TextBox></td></tr>

            <tr><td><asp:Label ID="Label7" runat="server" Text="Description:"></asp:Label></td>
           <td class="style1"> <asp:TextBox ID="TextBox7" runat="server" 
                    Height="155px" TextMode="MultiLine" 
                   Width="555px"></asp:TextBox></td></tr>

            <tr><td><asp:Label ID="Label8" runat="server" Text="Event Coordinators:"></asp:Label></td>
           <td class="style1"> 
               <asp:TextBox ID="TextBox8" runat="server" 
                 Width="548px"></asp:TextBox></td></tr>

           <tr><td> <asp:Label ID="Label9" runat="server" Text="Venue:"></asp:Label></td>
            <td class="style1">
                <asp:TextBox ID="TextBox9" runat="server"  
                 Width="546px"></asp:TextBox></td></tr>

            <tr><td><asp:Label ID="Label10" runat="server" Text="Date &Time:"></asp:Label></td>
            <td class="style1">
                <asp:TextBox ID="TextBox10" runat="server" 
                 Height="23px" Width="543px"></asp:TextBox></td>
                </tr>

           <tr><td> 
               <asp:Button ID="Button5" runat="server" Text="Insert" 
                   onclick="Button5_Click" /></td>
           <td class="style1"> <asp:Button ID="Button6" runat="server" CommandName="Cancel" 
                   Text="Cancel" onclick="Button6_Click" /></td></tr>
            <table/>
</asp:Panel>

请帮助我通过给定的机制插入日期时间。

2 个答案:

答案 0 :(得分:1)

您将使用TryParse方法在运行时处理可能的异常。

        string time = this.TextBox10.Text;
        DateTime dt = new DateTime();
        if (DateTime.TryParse("12/12/2011", out dt))
        {
            // your code here
        }

此致

答案 1 :(得分:0)

根据您的评论,您正在寻找一种将字符串转换为DateTime类型的方法:

String time = TextBox10.Text;
DateTime dt = Convert.ToDateTime(time);