Hello experts,

I've been trying to commit my changes in the dataset to the database
(sql server 2000), but still the updates don't seem to work. The goal
is to retrieve some records, remove the whitespace using trim then
save the changes back into the database. Here is what my code
currently looks like:

                public void doDirectEditTest2()
                {
                        String sqlQuery = "SELECT ID, OLD_GSIS_NO, 
ECARD_PLUS_NO FROM
TBL_MF" +
                                " WHERE LEN(OLD_GSIS_NO) > 11";

                        readDatabaseConfigEx();
                        SqlConnection conn = new 
SqlConnection(@ConnectionString);

                        try
                        {
                                conn.Open();

                                SqlDataAdapter adapter = new 
SqlDataAdapter(sqlQuery, conn);

//                              adapter.UpdateCommand.CommandText = "UPDATE 
TBL_MF"+
//                                      " SET ECARD_PLUS_NO = " + @ECARDID +
//                                      " WHERE OLD_GSIS_NO = " + @OLDGSISID;

                                DataSet dataset = new DataSet();

                                //SqlCommandBuilder builder = new 
SqlCommandBuilder(adapter);
                                //adapter.MissingSchemaAction = 
MissingSchemaAction.AddWithKey;  //
no go
                        adapter.Fill(dataset);

                                //perform edits to the dataset: Removes spaces
                                if (dataset.Tables[0].Rows.Count > 0)
                                {
                                        foreach (DataRow Row in 
dataset.Tables[0].Rows)
                                        {
                                                Row.BeginEdit();
                                                string RowOLDGSISNO = 
Row["OLD_GSIS_NO"].ToString();
                                                string RowECARDPLUSNO = 
Row["ECARD_PLUS_NO"].ToString();

                                                RowOLDGSISNO = (RowOLDGSISNO + 
"").Trim();
                                                RowECARDPLUSNO = 
(RowECARDPLUSNO + "").Trim();

                                                Row["OLD_GSIS_NO"]   = 
RowOLDGSISNO;
                                                Row["ECARD_PLUS_NO"] = 
RowECARDPLUSNO;
                                                Row.EndEdit();
                                                //Row.AcceptChanges();
                                        } // of foreach
                                        dataset.AcceptChanges();
                                } // of if

                                SqlCommandBuilder builder = new 
SqlCommandBuilder(adapter);
                                adapter.Update(dataset);
                        }
                        catch (Exception ex)
                        {
                                Console.Out.WriteLine("Error: {0}", ex.Message);
                        }
                        finally
                        {
                                conn.Close();
                        }

                } // of doDirectEdit()


I'm not sure if the CommandBuilder class is the one causing me a lot
of trouble, because I'm expecting that when you use this class, it
will generate the appropriate sql UPDATE for you. But I could be
wrong. Any ideas/tips? Please help!


Reply via email to