Конференция ".Net" » Update базы данных [C#, WinXP]
 
  • Галинка © (25.01.08 14:46) [0]
    когда вызывается метод Update DataAdapter'а, то что апдэйтится: база или датасет, в который она "спроецирована"?
  • clickmaker © (25.01.08 14:57) [1]
    When you call the Update method, the DataAdapter analyzes the changes that have been made and executes the appropriate command (INSERT, UPDATE, or DELETE). When the DataAdapter encounters a change to a DataRow, it uses the InsertCommand, UpdateCommand, or DeleteCommand to process the change. This allows you to maximize the performance of your ADO.NET application by specifying command syntax at design-time and, where possible, through the use of stored procedures

    (c) MSDN
  • Галинка © (25.01.08 15:01) [2]
    Так тут вроде не написано, какой именно набор данных исправляется. Локальный или подключенный?

    Вот пример из книги:

           private void but_SaveChanges_Click(object sender, EventArgs e)
           {
               if(tb_TabellenName.Text.Length != 0 && tb_Set.Text.Length != 0 && tb_Where.Text.Length != 0)
                   try
                   {
                       myCmd = new OleDbCommand("UPDATE " + tb_TabellenName.Text + " SET " + tb_Set.Text + " = ? WHERE [" + tb_Where.Text + "] = ?", myConn);
                       myCmd.Parameters.Add("@p1", OleDbType.VarChar, 30, tb_Set.Text);
                       OleDbParameter prm = myCmd.Parameters.Add("@p2", OleDbType.VarChar);
                       prm.SourceColumn = tb_Where.Text;
                       prm.SourceVersion = DataRowVersion.Original;
                       myDA.UpdateCommand = myCmd;
                       myDA.Update(ds_NW, tb_TabellenName.Text);
                       myConn.Close();
                       dataGridView1.Update();
                   }

                   catch (Exception ex)
                   {
                       MessageBox.Show(ex.Message);
                   }

           }



    но изменения не сохраняются ((
  • clickmaker © (25.01.08 15:07) [3]

    > and, where possible, through the use of stored procedures

    в локальном не может быть хранимых процедур
  • Галинка © (25.01.08 15:10) [4]
    но почему не сохраняются изменения?
  • clickmaker © (25.01.08 15:13) [5]

    > [4] Галинка ©   (25.01.08 15:10)
    > но почему не сохраняются изменения?

    а я доктор, что-ли? )
    включи отладку, трассировку SQL вызовов, смотри что передается, что получается...
    трудовые будни, рутина, короче...
  • b z (25.01.08 18:30) [6]

    > Галинка ©

    А что вы собственно изменяли? и что сохраняете?
    DataAdapter применяют, когда сохраняют изменения в датасете/дататэйбле по мапингу полей или CommandBuilder.
    А так как у вас - и не понятно, что к чему, если просто вынолнить команду UPDATE, то тут адаптер не нужен.
  • Галинка © (25.01.08 19:05) [7]
    делаю выборку, меняю одно поле, сохраняю результаты (UPDATE). Вроде получилось все.
 
Конференция ".Net" » Update базы данных [C#, WinXP]
Есть новые Нет новых   [118447   +33][b:0][p:0.002]