Member 12802669 Ответов: 1

Привязка gridview с предложением where не работает


I have a gridview filled with product information. SQL table looks like this:
ID||UserID||Name||Price||
and I want that the ID of the product matches with the id of the Users (User_ID). (I have a own SQL table with User Information).
I have this Code, but the gridview does not show something. Its just empty...


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

protected void BindGrid()

        { string constr = ConfigurationManager.ConnectionStrings["strConn"].ConnectionString;
            using (SqlConnection conn = new SqlConnection(constr))
            {

                using (SqlCommand cmd = new SqlCommand())
                { //Land ergänzen
                    cmd.Connection = conn;
                    cmd.CommandText = "SELECT * From Product WHERE UserID=@UserID";
                    cmd.Parameters.Add("@UserID", SessionHelper.User.ID);
                    using (SqlDataAdapter ad = new SqlDataAdapter(cmd))
                    {
                        DataTable dt = new DataTable();
                        ad.Fill(dt);
                        GridView1.DataSource = dt;
                        GridView1.DataBind();
                    }
                }
            }
        }

Jawad Ahmed Tanoli

вы пытаетесь отладить код ? попробуйте проверить записи в DataTable dt? а также проверить SessionHelper.Пользователей.значение id

Karthik_Mahalingam

возвращает ли запрос данные в sql studio ?

1 Ответов

Рейтинг:
0

Richard MacCutchan

cmd.Parameters.Add("@UserID", SessionHelper.User.ID);

Приведенная выше команда добавляет параметр в ваш SQL, но не значение. Вы должны использовать Коллекции sqlparametercollection.Метод AddWithValue (String, Object) (System. Data.SqlClient)[^].


Member 12802669

Пытался. Все равно не получается. Просто пустая страница....

Richard MacCutchan

Затем вам нужно выполнить некоторую отладку, чтобы узнать, какая информация возвращается из команды SQL. Мы не можем догадаться, что происходит.