Выборочное заполнение набора данных - PullRequest
0 голосов
/ 09 февраля 2009

Мне нужно изменить, какие строки извлекаются из базы данных, основываясь на нескольких флагах. Как я могу это сделать? Мой текущий код выглядит так:

this.tblTenantTableAdapter.Fill(this.rentalEaseDataSet.tblTenant);

Скажите, если бы я хотел только строки с идентификатором больше 50, как бы я это сделал?

Edit:

Код для доступа к базе данных был автоматически сгенерирован оригинальным программистом очень давно, хотя VisualStudio. Я не знаю точно, как получить соединение из автоматически сгенерированного кода. Если бы я мог это сделать, я знаю, как использовать SqlDataAdapter

Ответы [ 4 ]

2 голосов
/ 09 февраля 2009

Почему бы вам не использовать предложение WHERE в запросе SQL?

Кроме того, я надеюсь, что вы не используете свое поле ID для чего-либо подобного. Если вам просто нужны первые 50 вариантов выбора, вы можете использовать предложение TOP 50 или что-то подобное.

Для получения дополнительной информации о том, как это сделать с помощью TableAdapter: http://www.shiningstar.net/ASPNet_Articles/DataSet/DataSetProject7.aspx

1 голос
/ 09 февраля 2009

На стороне сервера вы можете использовать старый SQL в клетку:

SELECT * FROM TBLTENANT WHERE id > 50

На стороне клиента:

rentalEaseDataSet.tblTenant.DefaultView.RowFilter = "id > 50";
0 голосов
/ 09 февраля 2009

В вашем TableAdapter должен быть указан CommandText для SQL-запроса с предложением WHERE.

    private void InitCommandCollection() {
        this._commandCollection = new global::System.Data.SqlClient.SqlCommand[1];
        this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand();
        this._commandCollection[0].Connection = this.Connection;
        this._commandCollection[0].CommandText = @"SELECT * FROM MyTable WHERE ID >50;";
        this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
    }

ПРИМЕЧАНИЕ: Приведенный выше запрос является лишь примером, а не решением вопроса. Формат приведенного выше кода используется для редактирования метода InitCommandCollection () сгенерированного класса конструктора адаптеров таблиц, чтобы вы могли указать свой собственный SQL. Возможно, в вашем классе уже есть некоторый SQL, и в этом случае вы можете просто изменить его.

0 голосов
/ 09 февраля 2009

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

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