使用Winforms连接到SQL Server以轻松筛选数据
本文关键字:筛选 数据 Server Winforms 连接 SQL 使用 | 更新日期: 2023-09-27 17:58:20
我有一个Winforms正在连接到SQL Server 2008数据库。
我希望能够在一个表中轻松筛选数据。
下面是我想要的一个例子:
- 表中有3列,我将在一个表单上有三个文本框(或任何其他有用的控件),它们将对应于这三列
- 用户将能够在这些字段中的任何一个字段中输入值,并检索与该字段相关的其余值
是否已经有一个简单的解决方案?
是的,您可以使用DataSet或DataReader。
http://msdn.microsoft.com/en-us/library/ms171897%28v=vs.80%29.aspx
http://www.dotnetperls.com/datagridview-tutorial
我不认为有什么独特的方法可以做到这一点。无论如何,您可以简单地使用SqlCommand,它将允许您随心所欲地执行存储过程或查询。将这三个筛选器值作为SqlParameters传递。
这里有一个小例子:
private static void ReadOrderData(string connectionString)
{
string queryString =
"SELECT * FROM MyTable Where (FieldOne == @ParameterOne Or FieldTwo = @ParameterTwo Or FieldThree = @ParameterThree)";
using (SqlConnection connection = new SqlConnection(
connectionString))
{
// Create the command
SqlCommand command = new SqlCommand(
queryString, connection);
// Add the parameters
command.Parameters.Add(new SqlParameter("ParameterOne", txtMyTextBox1.Text));
command.Parameters.Add(new SqlParameter("ParameterTwo", txtMyTextBox2.Text));
command.Parameters.Add(new SqlParameter("ParameterThree", txtMyTextBox3.Text));
connection.Open();
SqlDataReader reader = command.ExecuteReader();
try
{
while (reader.Read())
{
Console.WriteLine(String.Format("{0}, {1}",
reader[0], reader[1]));
}
}
finally
{
// Always call Close when done reading.
reader.Close();
}
}
}
然后使用SqlDataReader获取值。