大家看看这个问题呗,帮我解决一下
public void BridGrid1()
{
string mycon= "Server=Z-EBAND; uid=sa;Pwd=;Database=UFDATA_600_2007 ";
string sql= "Select cInvCode,cInvName,cVenCode from Inventory where cVenCode= ' " + Session[ "cVenCode "] + " 'union select iQuantity from CurrentStock ";
SqlDataAdapter myda1 = new SqlDataAdapter(sql,mycon );
DataSet myds1 = new DataSet();
myda1.Fill(myds1);
DataView mydv1= myds1.Tables[0].DefaultView;
GridView1.DataSource = mydv1;
GridView1.DataKeyNames = new string[] { "cInvCode " };
GridView1.DataBind();
}
出现下面错误
包含 UNION 运算符的 SQL 语句中的所有查询都必须在目标列表中具有相同数目的表达式。
------解决方案--------------------问题很清楚啊,两个列完全不同的查询怎么可以union呢?
------解决方案--------------------使用 UNION、INTERSECT 或 EXCEPT 运算符合并的所有查询必须在其目标列表中有相同数目的表达式。
------解决方案--------------------SQL语句错误,union前后两个select所选择的列数应该是一致的
------解决方案--------------------sql = "Select cInvCode,cInvName,cVenCode from Inventory where cVenCode= ' " + Session[ "cVenCode "] + ' " " + "and iQuantity =(select iQuantity from CurrentStock ) "
------解决方案--------------------Select cInvCode,cInvName,cVenCode from Inventory where cVenCode= ' " + Session[ "cVenCode "] + " 'union select iQuantity from CurrentStock
两张表的列不一样