D 分析:令t=sinx,(0<t≤1)则问题转化为-a=(t+1)2-1的解的个数,由于0<t<1时,该方程有一解,此时原方程有两个解;当t=1,原方程有唯一解,从而问题得解. 解答:令t=sinx,(0<t≤1)则-a=(t+1)2-1,由于0<(t+1)2-1≤3,且在(0,1]上单调增,所以0<-a<3时,-a=(t+1)2-1有一个解,原方程有两个解;当a=-3时,t=1,原方程有唯一解;当-a≤0或-a>3时,原方程无解. 故选D. 点评:本题主要考查方程解的个数,利用换元法,应注意前后元的变化,否则会错解或漏解.