База данных не обновляется - PullRequest
2 голосов
/ 07 марта 2011

Я пытаюсь записать некоторые данные в базу данных .MDF, в которой есть только одна таблица, и она не обновляется после выполнения этой части кода:

        DatabaseDataSet.MyTableRow newRow;
        newRow = databaseDataSet.MyTable.NewMyTableRow();
        newRow.name = "x";
        newRow.level = 100;
        newRow.health = 100;
        newRow.weapon = "club";
        this.databaseDataSet.MyTable.Rows.Add(newRow);

        int result = MyTableTableAdapter.Update(databaseDataSet.MyTable);
        MessageBox.Show(result.ToString());

Я новичок в работе с базами данных SQL в C #.

Я использую TableAdapter.Update для обновления таблицы MyTable в базе данных, я даже пытался написать свою собственную версию запроса Update, а также пытался с функцией MyTableAdapter.insert ... и без результатов. Я могу успешно читать данные из базы данных, но когда дело доходит до записи, я терплю неудачу.

Ответы [ 2 ]

1 голос
/ 11 июня 2011

Обновление (вставка и удаление) только изменит представление локального клиента адаптера таблицы, вам нужно сохранить изменения, чтобы зафиксировать его в базе данных.

0 голосов
/ 17 августа 2011

Я бы рискнул предположить, что вы используете компактную базу данных SQL в своем проекте?
Это означает, что файл базы данных будет создаваться везде, где работает программа.
Поэтому, если вы работаете в режиме отладки, вы получаете базу данных в папке bin / Debug. Запустите его в режиме выпуска, и вы работаете с совершенно другой базой данных в папке bin / Release. Запустите установленную версию, и это снова будет другой файл базы данных.

Я обнаружил это довольно быстро, когда собрал свою первую программу .net с компактной базой данных SQL, важно знать, что вся база данных находится в одном файле, который обычно находится в том же каталоге, что и запущенная программа. Всегда помните об этом факте, и многие мелочи, подобные этой, не будут вас беспокоить.

...