Inserting DateTime into Acess Database via C# and Asp.net
This might be a very common and old problem, but still I've struggled with quite a lot and finally I'm posting it here:
I've to insert DateTime in an Access database, but I'm having trouble doing so. My C# code:
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();
}
And the corresponding Asp.Net script:
<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>开发者_StackOverflow社区;</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>
Please help me in inserting the datetime through the given mechanism.
you're going to use the method TryParse to handle a possible exception at runtime.
string time = this.TextBox10.Text;
DateTime dt = new DateTime();
if (DateTime.TryParse("12/12/2011", out dt))
{
// your code here
}
Regards
As per your comment, you are looking for a way to convert string to DateTime
type:
String time = TextBox10.Text;
DateTime dt = Convert.ToDateTime(time);
精彩评论