我怎么能用Xamarin Android一次使用两个表

时间:2017-06-23 15:08:10

标签: android sqlite xamarin

我在数据库中的每个表都有一个连接,如下所示,如何在一段时间内使用两个表?我的主要问题是如何在一段时间内连接到两个表来使用它们。请有人告诉我这件事 我的代码的一部分是:

    public bool createDataBase()
    {
        try
        {
            using (var connection = new 
            SQLiteConnection(System.IO.Path.Combine(folder, "Plans.db")))
            {
                connection.CreateTable<Plan>();
                return true;
            }
        }
        catch (SQLiteException ex)
        {

            Log.Info("SQLiteEx", ex.Message);
            return false;
        }
    }

    public bool createDataBase2()
    {
        try
        {
            using (var connection = new SQLiteConnection(System.IO.Path.Combine(folder, "PlanDoned.db")))
            {
                connection.CreateTable<Plan>();
                return true;
            }
        }
        catch (SQLiteException ex)
        {

            Log.Info("SQLiteEx", ex.Message);
            return false;
        }
    }


    public bool insertIntoTablePlanDoned(Plan plan)
    {
        try
        {
            using (var connection = new 
            SQLiteConnection(System.IO.Path.Combine(folder, "PlanDoned.db")))
            {
                //connection.Query<Plan>("UPDATE Plan SET PlanName=?,PlanDate=?,PlanDesc=? where Id=?", plan.PlanName, plan.PlanDate, plan.PlanDesc, plan.Id);
                //return true;
                connection.Query<Plan>("insert into PlanDoned select * from Plans where Id=?", plan.Id);
                return true;
            }
        }
        catch (SQLiteException ex)
        {
            Log.Info("SQLiteEx", ex.Message);
            return false;
        }
    }

1 个答案:

答案 0 :(得分:0)

使用ATTACH DATABASE 'Database2Path' As 'Database2Name'; 然后在同一个查询中同时使用Database1和Database2,即:

INSERT INTO Database2Name.Table SELECT Column1, Column2 FROM Database1.Table