2008-11-29 16 views
0

J'essaie de sérialiser un objet dans une base de données compacte SQL. J'utilise VCS Express 2008. Chaque fois que je lance un test pour voir si mes données sont envoyées à la base de données, il n'y a rien dans la base de données. Mon code:La mise à jour de l'adaptateur de table C# ne fonctionne pas

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

Compile bien, mais pour une raison quelconque ne fonctionne pas.

Répondre

0

Vous devez appeler la méthode de mise à jour de l'adaptateur ainsi que AcceptChanges sur le DataSet

+0

Ne pas .Net 3.5 ont la mise à jour intégrée dans le TableAdapter? – jle