C# 搜索数据库不需要';不返回重复项
在c#中,我有一个程序,通过该程序,我们可以将联系人(姓名和电话号码)添加到数据库中,还可以搜索特定联系人。但在搜索时,该命令不会返回重复的行。示例:如果有两个或多个同名联系人,则只返回一个。为什么我没有看到所有的副本。这是我用来搜索的代码C# 搜索数据库不需要';不返回重复项,c#,sql,database,C#,Sql,Database,在c#中,我有一个程序,通过该程序,我们可以将联系人(姓名和电话号码)添加到数据库中,还可以搜索特定联系人。但在搜索时,该命令不会返回重复的行。示例:如果有两个或多个同名联系人,则只返回一个。为什么我没有看到所有的副本。这是我用来搜索的代码 using (SqlConnection con1 = new SqlConnection(str)) { con1.Open(); using (SqlCommand query1 = new SqlCommand("SELECT * FROM Co
using (SqlConnection con1 = new SqlConnection(str))
{
con1.Open();
using (SqlCommand query1 = new SqlCommand("SELECT * FROM ContactBook WHERE Name=@Name", con1))
{
query1.Parameters.Add("Name", SqlDbType.NVarChar).Value = SearchbyName.Name;
using (SqlDataReader dr = query1.ExecuteReader())
{
if (dr.Read())
{
Console.WriteLine(dr[0] + " " + dr[1]);
}
else
{
Console.WriteLine("No contact found with name {0}", SearchbyName.Name);
}
}
}
}
if(dr.Read())
将只读取一次,因此您只能获得一次。
dr.Read()
用于从数据读取器读取数据
using (SqlConnection con1 = new SqlConnection(str))
{
con1.Open();
using (SqlCommand query1 = new SqlCommand("SELECT * FROM ContactBook WHERE Name=@Name", con1))
{
query1.Parameters.Add("Name", SqlDbType.NVarChar).Value = SearchbyName.Name;
using (SqlDataReader dr = query1.ExecuteReader())
{
while(dr.Read())
{
Console.WriteLine(dr[0] + " " + dr[1]);
}
}
}
}
if(dr.Read())
将只读取一次,因此您只能获得一次。
dr.Read()
用于从数据读取器读取数据
using (SqlConnection con1 = new SqlConnection(str))
{
con1.Open();
using (SqlCommand query1 = new SqlCommand("SELECT * FROM ContactBook WHERE Name=@Name", con1))
{
query1.Parameters.Add("Name", SqlDbType.NVarChar).Value = SearchbyName.Name;
using (SqlDataReader dr = query1.ExecuteReader())
{
while(dr.Read())
{
Console.WriteLine(dr[0] + " " + dr[1]);
}
}
}
}
不,您只读取第一个值。如果您想要所有这些值,请使用某种循环结构。不,您只读取第一个值。如果您想要所有这些,请使用某种循环结构。