SQLDataAdapter обновляется, но он добавляется в базу данных, а не обновляется - PullRequest
0 голосов
/ 30 марта 2012

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

Мой код выглядит следующим образом

public bool Update_DB_FromTable(DataTable DTable)
{
    try
    {

        SqlConnection myConnection = new SqlConnection("Data Source=" + hostname + " ;User ID=SALX; Password=password;" +
                              "database=" + dbname + "; " +
                              "connection timeout=30");
        myConnection.Open();
        SqlCommand myCommand = new SqlCommand("SELECT * FROM dbo." + tablename, myConnection);
        SqlDataAdapter da = new SqlDataAdapter(myCommand);
        SqlCommandBuilder b = new SqlCommandBuilder(da);
        int count = da.Update(DTable);
        myConnection.Close();
        return true;
    }
    catch
    {
        return false;
    }
}

Это работает, НО каждый раз, когда он запускается, просто добавляет данныеконец базы данных и не обновляет базу данных, как в Access.Хуже всего то, что он создает много повторяющихся записей, я не могу вручную удалить их из базы данных.

Любая помощь будет принята с благодарностью.1012 *

Это может быть действительно новичком, но я в замешательстве ..

1 Ответ

3 голосов
/ 30 марта 2012

Строки в «DTable» определяют, что происходит с соответствующей строкой в ​​базе данных. если строка в «DTable» имеет статус «isNew», то строка будет вставлена, если статус «изменен», таблица db будет обновлена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...