2016-08-22 2 views
0

Имея два столадве таблицы объединить в одном GridView в asp.net

login 
id(pk) | username | password 

bookmark 
id  |Name  |image | user_id(fk)). 

В C# коде необходимо объединить в единую сеть view.Here реализуется мои фрагменты кода.

на Pageload заполнения GridView

public void binggrid(){ 
    using (sqlconnection con =new sql connection (constring){ 
    cmd.commandText="select b.id,b.Name,b.Image,l.username from bookmark inner join login l on b.user_id=l.id where l.id='" +login.id+"'; 
    cmd.connection=con; 
    con.open(); 
    gridview.datasource=cmd.ExecuteReader(); 
    gridview.DataBind(); 
    con.close(); 
    } 
} 

При проектировании WebForm ASPX происходят

<asp:BoundField DataField="username" HeaderText="username"/> 

Ошибка, если я встроен другой элемент таблицы.

Ошибка шоу компилятор:

Поле или свойство с именем «имя пользователя» не найден на выбранного источника данных

Как решить эту проблему? Пожалуйста помоги.

+0

Вы привязываете сетку к pageload? Можете ли вы опубликовать еще несколько своих ASPX, в том числе, если/где вы определяете источник данных? – Santi

+0

Я чувствую SQL-инъекцию. – Oluwafemi

+0

yes sir tyler roper привязка сетки к странице загрузки –

ответ

0

Вы пропустили b после bookmark table в своем запросе sql. Также используйте parametrized sql query, чтобы избежать sql injection.

select b.id,b.Name,b.Image,l.username from bookmark b inner join login l on b.user_id=l.id where [email protected] 
Смежные вопросы