SELECT * FROM Survey AS A INNER JOIN Surveyitem AS B ON A.SurveyID=B.ParrentID WHERE A.ShowID=1

解决方案 »

  1.   

    SELECT a.*,b.* FROM Survey AS A , Surveyitem AS B where A.SurveyID=B.ParrentID and A.ShowID=1 
     
     
      

  2.   

    我用以前的 sql2005的可以运行 数据库换成 ACCESS就不能运行了
      

  3.   

    ACCESS不支持inner join吧?
    SELECT * FROM Survey AS A , Surveyitem AS B where A.SurveyID=B.ParrentID and A.ShowID=1这样就行,和楼主的结果是一样的。
      

  4.   

    不好意思,好像是支持的。可以改为
    SELECT * FROM Survey A INNER JOIN Surveyitem B ON A.SurveyID=B.ParrentID and A.ShowID=1
      

  5.   

      至少一个参数没有被指定值。    public DataSet ShowA()
        {
            using (System.Data.OleDb.OleDbConnection con = new System.Data.OleDb.OleDbConnection(str))
            {
                using (System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand())
                {
                    cmd.CommandText = "SELECT a.*,b.* FROM Survey AS A , Surveyitem AS B where A.SurveyID=B.ParrentID and A.ShowID=1";
                    cmd.Connection = con;
                    using (System.Data.OleDb.OleDbDataAdapter dp = new System.Data.OleDb.OleDbDataAdapter(cmd))
                    {
                        dp.Fill(ds);
                        return ds;
                    }
                }
            }
        }
      

  6.   

    我刚测试,ACCESS支持INNER JOIN.语句可执行.
      

  7.   

    估计是因为a.*,b.*中有重复的字段,你自己改个名字,例如select a.* , b.col newcol from
      

  8.   

    A.SurveyID
    B.ParrentID
    A.ShowID
    检查这三个字段是否存在,或者是拼错了。
    在SQL中会提示字段不存在,在ACCESS中会认为是一个变量,值为空,所以产生参数未被指定值的错误