Member 13166498 Ответов: 2

Вставить текст БД из привязки radiobuttonlist


Эй.
У меня есть странная проблема, чтобы вставить в текст из привязки выбранного элемента из RadioButtonList я всегда получаю имя первой строки из SQL not selected.

вот мой код:


 if (!IsPostBack) 

          {

                SqlConnection con = new SqlConnection();
                con.ConnectionString = @"server=localhost; database=PS_User; trusted_connection=true;";

                SqlCommand cmd = new SqlCommand(@"Select * from S1 WHERE PART =@1 AND PART IS NOT NULL Order by point", con);
                cmd.Parameters.AddWithValue("@0", 0);
                cmd.Parameters.AddWithValue("@1", 1);

                con.Open();
                cmd.ExecuteNonQuery();
                con.Close();



                SqlDataAdapter da = new SqlDataAdapter(cmd);

                DataTable dt = new DataTable();
                da.Fill(dt);

                RadioButtonList1.DataTextField = "Name";
                RadioButtonList1.DataValueField = "Point";
                RadioButtonList1.DataSource = dt;
                RadioButtonList1.DataBind();


          }

        protected void Button1_Click(object sender, EventArgs e)
        {
            SqlConnection con = new SqlConnection();
            con.ConnectionString = @"server=localhost; database=PS_User; trusted_connection=true;";

            string Name = RadioButtonList1.SelectedItem.Text.ToString();
            string queryString = @"

insert into t1 (Name,Point) values (@Name,@Point)

";

                SqlCommand cmd = new SqlCommand(queryString, con);
                cmd.Parameters.AddWithValue("@Point", Label1.Text);
                cmd.Parameters.AddWithValue("@Name", Name);

                con.Close();
                con.Open();
                cmd.ExecuteNonQuery();
            
        }


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

Я хочу вставить текст из выбранного элемента из табуляции S1 в t1

[no name]

Ваш вопрос не ясен, но в вашем коде есть некоторые проблемы. См. ниже решение для правильного кода.

2 Ответов

Рейтинг:
2

Member 13166498

Все еще первый ряд

http://i.imgur.com/9laX6eM.png


Рейтинг:
0

Vinod Jangle

1. Вам не нужно бежать Метод executenonquery как вы заполняете SqlDataAdapter здесь.
2. Ваше мероприятие кнопку почему вы закрытия и повторного открытия соединения SQL. вместо этого используйте using block Для создания объекта подключения, он позаботится об этом.

if (!IsPostBack) 
            {
                using(SqlConnection con = new SqlConnection(@"server=localhost; database=PS_User; trusted_connection=true;"))
                {
                    con.open();

                    SqlCommand cmd = new SqlCommand(@"Select * from S1 WHERE PART =@1 AND PART IS NOT NULL Order by point", con);
                    cmd.Parameters.AddWithValue("@0", 0);
                    cmd.Parameters.AddWithValue("@1", 1);
 
                    SqlDataAdapter da = new SqlDataAdapter(cmd);
                    DataSet ds = new DataSet();
                    da.Fill(ds);
 
                    RadioButtonList1.DataTextField = "Name";
                    RadioButtonList1.DataValueField = "Point";
                    RadioButtonList1.DataSource = ds.Table[0];
                    RadioButtonList1.DataBind();
                }
          }
 
        protected void Button1_Click(object sender, EventArgs e)
        {
             using(SqlConnection con = new SqlConnection(@"server=localhost; database=PS_User; trusted_connection=true;"))
             {
                 con.open();

                 string Name = RadioButtonList1.SelectedItem.Text.ToString();
                 string queryString = @"insert into t1 (Name,Point) values (@Name,@Point)";
 
                 SqlCommand cmd = new SqlCommand(queryString, con);
                 cmd.Parameters.AddWithValue("@Point", Label1.Text);
                 cmd.Parameters.AddWithValue("@Name", Name);
                 cmd.ExecuteNonQuery();

             }
        }