代码之家  ›  专栏  ›  技术社区  ›  Nasser Hadjloo

如何在C中使用SQLite转换为简单SQL命令#

  •  -1
  • Nasser Hadjloo  · 技术社区  · 16 年前

    我想从DayPilot控制开始

    我想用SQL代替SQLite,所以如果可以的话,请帮我做这个。

    http://www.daypilot.org/calendar-tutorial.html

    数据库包含一个具有以下结构的表

    CREATE TABLE event (  id VARCHAR(50),  name VARCHAR(50),  eventstart DATETIME,  eventend DATETIME);
    

    正在加载事件

      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["db"].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();
        }
      }
    
    2 回复  |  直到 16 年前
        1
  •  1
  •   masoud ramezani    16 年前

    您可以在sql server中创建数据库,之后只需更改 SQLiteCommand SQLCommand . 除了连接字符串信息,您不需要更改任何内容。

        2
  •  1
  •   Keith Bloom    16 年前

    而不是

    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();
        }
    }
    

    你应该可以使用

    private void dbUpdateEvent(string id, DateTime start, DateTime end)    {
    using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["db"].ConnectionString))
       {
        con.Open();
        SqlCommand cmd = new SqlCommand("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();
        }
    }
    

    您还需要添加;对系统数据和 using System.Data.SqlClient

    推荐文章