我需要根据几个标志更改从数据库中获取的行。我怎样才能做到这一点?我目前的代码是这样的:
this.tblTenantTableAdapter.Fill(this.rentalEaseDataSet.tblTenant);
如果我只想要id大于50的行,我该怎么做?
修改
访问数据库的代码是很久以前原始程序员通过VisualStudio自动生成的。我不知道如何从自动生成的代码获得连接。如果我能做到这一点,我知道如何使用SqlDataAdapter
答案 0 :(得分:2)
为什么不在SQL查询中使用WHERE
子句?
此外,我希望您不要将ID
字段用于此类内容。如果您只想要前50个选项,您可能需要使用TOP 50
子句或类似的东西。
有关如何使用TableAdapter执行此操作的一些信息:http://www.shiningstar.net/ASPNet_Articles/DataSet/DataSetProject7.aspx
答案 1 :(得分:1)
在服务器端,您可以使用格子旧SQL:
SELECT * FROM TBLTENANT WHERE id > 50
在客户端:
rentalEaseDataSet.tblTenant.DefaultView.RowFilter = "id > 50";
答案 2 :(得分:0)
我认为最简单的方法是使用WHERE子句更改幕后运行的SQL查询。
答案 3 :(得分:0)
您的TableAdapter需要将CommandText指定给带有WHERE子句的SQL查询。
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,在这种情况下你可以改变它。