通过c#和Asp.net在access数据库中插入DateTime

本文关键字:数据库 插入 DateTime access Asp net 通过 | 更新日期: 2023-09-27 18:07:18

这可能是一个非常常见和古老的问题,但我仍然挣扎了很多,最后我把它贴在这里:

我必须在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。净脚本:

 <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>

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

通过c#和Asp.net在access数据库中插入DateTime

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

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

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

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