Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 搜索数据库不需要';不返回重复项_C#_Sql_Database - Fatal编程技术网

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

在c#中,我有一个程序,通过该程序,我们可以将联系人(姓名和电话号码)添加到数据库中,还可以搜索特定联系人。但在搜索时,该命令不会返回重复的行。示例:如果有两个或多个同名联系人,则只返回一个。为什么我没有看到所有的副本。这是我用来搜索的代码

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]);
          }
       }
     } 
 }

不,您只读取第一个值。如果您想要所有这些值,请使用某种循环结构。不,您只读取第一个值。如果您想要所有这些,请使用某种循环结构。