Member 14041587 Ответов: 1

Я использую простую таблицу в SQL, 2 столбца, 1


i save bharath 9600637754
       vinoth  9600637754
if i select 9600637754 in dropdownlist only last save only display in textfield,
i want to all name,


Что я уже пробовал:

<pre>  protected void BindContrydropdown()
        {
            //conenction path for database
            using (SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=firstproject;Integrated Security=True"))
            {
                con.Open();
                SqlCommand cmd = new SqlCommand("Select ID,MOBILE FROM APPLICATION", con);
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                da.Fill(ds);
                DropDownList6.DataSource = ds;
                DropDownList6.DataTextField = "MOBILE";
                DropDownList6.DataValueField = "ID";
                DropDownList6.DataBind();
                DropDownList6.Items.Insert(0, new ListItem("--Select--", "0"));
                con.Close();
            }
        }



protected void DropDownList6_SelectedIndexChanged(object sender, EventArgs e)
       {
           String strQuery = "select * from APPLICATION where MOBILE = @MOBILE";
           SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=firstproject;Integrated Security=True");
           SqlCommand cmd = new SqlCommand(strQuery);
           cmd.Parameters.AddWithValue("@MOBILE", DropDownList6.SelectedItem.Text);
           cmd.CommandType = CommandType.Text;
           cmd.CommandText = strQuery;
           cmd.Connection = con;
           try
           {
               con.Open();
               SqlDataReader sdr = cmd.ExecuteReader();
               while (sdr.Read())
               {
                   //txtCity.Text = sdr[0].ToString();
                   TextBox1.Text = sdr["DOB"].ToString();
                   TextBox2.Text = sdr["DOA"].ToString();
                   TextBox3.Text = sdr["NAME"].ToString();
                   TextBox4.Text = sdr["CITY"].ToString();
                   TextBox5.Text = sdr["AREA_LOCATION"].ToString();
                   TextBox6.Text = sdr["MOBILE"].ToString();
                   TextBox7.Text = sdr["CONTACT_PERSON"].ToString();
                   TextBox8.Text = sdr["STATE"].ToString();
                   TextBox9.Text = sdr["EMAIL"].ToString();
                   TextBox10.Text = sdr["ALTER_EMAIL"].ToString();
                   TextBox11.Text = sdr["LANDLINE"].ToString();
                   TextBox12.Text = sdr["PINCODE"].ToString();
                   TextBox13.Text = sdr["NATIONALITY"].ToString();
               }
           }
           catch (Exception ex)
           {
               throw ex;
           }
           finally
           {
               con.Close();
               con.Dispose();
           }
       }


дБ

1	2019-08-01	2019-02-01	vinoth	B	Thanjavur	9600637754	rajappa	TN	sowndaryarajappa@gmail.com	meetvinoth87@gmail.com	044-1245678	613104	korean
4	2019-01-02	2019-02-02	bharath	Thanjavur	thirukkattupalli	9600637754	sowndarya	thanjavur	meetvinoth87@gmail.com	vinovenkat.mca@gmail.com	04412345678	613105	inidian

OriginalGriff

И что же?
В чем проблема - вы не сказали нам, что он делает, чего вы не ожидали, или не делает, что вы сделали! И мы не сможем вам помочь, если не будем знать, в чем проблема.

Используйте виджет "улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.

1 Ответов

Рейтинг:
0

Richard Deeming

Измените свой запрос, чтобы загрузить запись по идентификатору, который должен быть уникальным, а не по мобильному телефону, которого нет:

const string strQuery = "select * from APPLICATION where ID = @ID";
...
cmd.Parameters.AddWithValue("@ID", DropDownList6.SelectedItem.Value);



Также:
catch (Exception ex)
{
    throw ex;
}

Не делай этого. Вы только что уничтожили трассировку стека исключения, что значительно затрудняет отслеживание строки, вызвавшей его. Если вы должны поймать и повторно бросить исключение, используйте throw; вместо throw ex;, который сохранит трассировку стека:
catch (Exception ex)
{
    throw;
}

Но в этом случае, поскольку вы ничего не делаете с исключением, нет никакой необходимости ловить его в первую очередь. Просто уберите его catch блок.


И:
finally
{
    con.Close();
    con.Dispose();
}

Оберните соединение и любые другие объекты, которые реализуют IDisposable в using (...) { ... } блок. Таким образом, они будут автоматически утилизированы, когда блок закончится, и вам не нужно будет беспокоиться об этом. try..finally блок вообще.
using (SqlConnection con = new SqlConnection("..."))
using (SqlCommand cmd = new SqlCommand(strQuery, con))
{
    cmd.Parameters.AddWithValue("@ID", DropDownList6.SelectedItem.Value);
    
    con.Open();
    
    using (SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
    {
        if (sdr.Read())
        {
            ...
        }
    }
}

использование инструкции - Справочник по C# | Microsoft Docs[^]