[英]How to change my code from sqlite database to .mdf database?
我正在尝试遵循本教程http://www.daypilot.org/calendar-tutorial.html 。 我想创建一个使用数据库中数据的日历。 我已经创建了一个名为event和data的表,该表与本教程相同。 表名称称为事件,其中有5个字段,分别是ID,名称,eventstart,eventend和资源。
但是我在数据库中使用.mdf。 并且该教程将sqlite用于数据库。 而且我在代码中有错误,因为我没有使用sqlite数据库。 我想对数据库使用.mdf,如何更改代码?
public partial class number2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
lblVenue.Text = Session["roomvalue"] != null ? Session["roomvalue"].ToString() : "";
if (!IsPostBack)
{
DayPilotCalendar1.StartDate = DayPilot.Utils.Week.FirstDayOfWeek(new DateTime(2009, 1, 1));
DayPilotCalendar1.DataSource = dbGetEvents(DayPilotCalendar1.StartDate, DayPilotCalendar1.Days);
DataBind();
}
}
protected void DayPilotCalendar1_EventMove(object sender, DayPilot.Web.Ui.Events.EventMoveEventArgs e)
{
dbUpdateEvent(e.Value, e.NewStart, e.NewEnd);
DayPilotCalendar1.DataSource = dbGetEvents(DayPilotCalendar1.StartDate, DayPilotCalendar1.Days);
DayPilotCalendar1.DataBind();
DayPilotCalendar1.Update();
}
private DataTable dbGetEvents(DateTime start, int days)
{
SQLiteDataAdapter da = new SQLiteDataAdapter("SELECT [id], [name], [eventstart], [eventend] FROM [event] WHERE NOT (([eventend] <= @start) OR ([eventstart] >= @end))", ConfigurationManager.ConnectionStrings["projectConnectionString"].ConnectionString);
da.SelectCommand.Parameters.AddWithValue("start", start);
da.SelectCommand.Parameters.AddWithValue("end", start.AddDays(days));
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}
private void dbUpdateEvent(string id, DateTime start, DateTime end)
{
using (SQLiteConnection con = new SQLiteConnection(ConfigurationManager.ConnectionStrings["db"].ConnectionString))
{
con.Open();
SQLiteCommand cmd = new SQLiteCommand("UPDATE [event] SET [eventstart] = @start, [eventend] = @end WHERE [id] = @id", con);
cmd.Parameters.AddWithValue("id", id);
cmd.Parameters.AddWithValue("start", start);
cmd.Parameters.AddWithValue("end", end);
cmd.ExecuteNonQuery();
}
}
}
我认为您可以通过将“ SQLiteCommand”替换为“ SqlCommand”,将“ SQLiteDataAdapter”替换为“ SqlDataAdapter”以及connectionstring来实现您的目标。 但是,我确实建议您进行一些重构以提高代码的可维护性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.