代码之家  ›  专栏  ›  技术社区  ›  jle

C#表适配器更新不工作

  •  0
  • jle  · 技术社区  · 16 年前

    我正在尝试将对象序列化到sql compact数据库。我正在使用VCS Express 2008。每次运行测试以查看数据是否发送到数据库时,数据库中都没有任何内容。我的代码:

    string inputForDB = null;
                    QuizCategoryTableAdapter quizCategoryAdapter = new QuizCategoryTableAdapter();
                    QuizApp._QuizApp_DataSet.QuizCategoryDataTable quizCategoryTable = new QuizApp._QuizApp_DataSet.QuizCategoryDataTable();
                    quizCategoryAdapter.Fill(quizCategoryTable);
                    //Check to see if quizCategory exists
                    if (quizCategoryTable.Rows.Contains(quizCategory._categoryID)) {
                        //overwrite (update)
                        //Serialize the object and put in db
                        MemoryStream MemStream = new MemoryStream();
                        IFormatter formatter = new BinaryFormatter();
                        formatter.Serialize(MemStream, quizCategory);
                        inputForDB = Convert.ToBase64String(MemStream.ToArray());
                        quizCategoryAdapter.Insert(quizCategory._categoryName, quizCategory._categoryDescription, inputForDB);
                        //send update to database
                        MemStream.Close();
                    } else {
                        //append (insert)
                        MemoryStream MemStream2 = new MemoryStream();
                        IFormatter formatter2 = new BinaryFormatter();
                        formatter2.Serialize(MemStream2, quizCategory);
                        inputForDB = Convert.ToBase64String(MemStream2.ToArray());
                        quizCategoryAdapter.Insert(quizCategory._categoryName, quizCategory._categoryDescription, inputForDB);
                        MemStream2.Close();
                    }
    

    1 回复  |  直到 16 年前
        1
  •  0
  •   keithwarren7    16 年前

    您必须调用适配器更新方法以及数据集上的AcceptChanges