strSql="select news.*,admin.edit,admin.del,admin.name from news a inner join admin b on a.author=b.name where name='"+sname+"'";        SqlDataAdapter Oda = new SqlDataAdapter(strSql, conn);
        DataSet ds = new DataSet();
        Oda.Fill(ds);
        objPds.DataSource = ds.Tables[0].DefaultView;
要实现目的查询 news 表所有列
查询 amdin 表 edit del name 列
两表列表明没有重复
条件news 表的 author 等于 admin 表的 name 等于 变量author=name=变量请问这条SQL语句和查询代码写的对吗,我的出错了

解决方案 »

  1.   

    报什么错?
    看你查询语句没错啊 是不是 name 是保留字的问题?
    你后面表用别名 前名也跟别名吧 
    其它我看不出啥问题
      

  2.   

    strSql="select news.*,admin.edit,admin.del,admin.name from news a inner join admin b on a.author=b.name and name='"+sname+"'";将后面的那个where改成and即可。
      

  3.   

    strSql="select a.*,b.edit,b.del,b.name 
    from news a inner join admin b on a.author=b.name 
    where b.name='"+sname+"'";
      

  4.   

    用where没有错
    楼主再看下其他的
      

  5.   

    恩 tim 很闲呀,那里都有你!嘿嘿!
      

  6.   


    strSql="select news.*,admin.edit,admin.del,admin.name from news a inner join admin b on a.author=b.name and b.name='"+sname+"'";
    strSql="select news.*,admin.edit,admin.del,admin.name from news a inner join admin b on a.author=b.name where b.name='"+sname+"'";
    //两个都可以
      

  7.   

    列前缀 'news' 与查询中使用的表名或别名不匹配。
    无法绑定由多个部分组成的标识符 "admin.edit"。
    无法绑定由多个部分组成的标识符 "admin.del"。
    无法绑定由多个部分组成的标识符 "admin.name"。

    报错。为
      

  8.   

    name是SQL关键字~~~~~~别名使用也有问题~~~~~~~~
      

  9.   

    把admin 换成b  
    news 换成a

    strSql="select a.*,b.edit,b.del,b.name from news a inner join admin b on a.author=b.name where name='"+sname+"'";可以先在sqlserver中调试
      

  10.   

    name是关键字,但能用,不想让它显示为关键字的话可以这样:b.[name]用中括号括起来!