两个表合并在asp.net的单个gridview中

时间:2016-08-22 20:11:54

标签: c# asp.net datagridview

有两张桌子

login
id(pk) | username | password 

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

在c#代码中,我们需要合并到一个网格视图中。这是我的代码片段。

on pageload fill 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"/>

如果我嵌入了其他表成员,则会出错。

错误显示编译器:

  

名称为&#39;用户名&#39;的字段或媒体资源没找到了   选定的数据源

如何解决?请帮忙。

1 个答案:

答案 0 :(得分: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 l.id=@LoginId