求教,请帮忙看看是什么问题?

tw_ak47 2008-07-14 02:10:15
老是提示System.Data.SqlClient.SqlException: 在关键字 'select' 附近有语法错误。第 1 行: 'tab1' 附近有语法错误。

部分代码如下:
private void GetSqlData()
{//得到入库出库记录
string conStr = ConfigurationSettings.AppSettings["connString"];
SqlConnection cxconn=new SqlConnection( conStr);
string strsql="";

strsql="(select * from select tab1.giftname,tab1.in1,isnull(tab2.out1,0) as out2,(tab1.in1-isnull(tab2.out1,0)) as still_in ";
strsql+="from (select giftname,sum(giftenternum) as in1 from gift_entry as a where";
strsql+="(a.Entrytime BETWEEN '2007-03-01' AND '2008-03-01') AND ";
strsql+="(a.LayoutName = 'XXX') AND (a.Shop = 'XXX')";
strsql+="group by giftname) as tab1,";
strsql+="(select giftname,sum(giftnum) as out1 from gift_shipment as b where";
strsql+="(b.shipmentdate BETWEEN '2007-03-01' AND '2008-03-01') AND ";
strsql+="(b.LayoutName = 'XXX') AND (b.Shop = 'XXX' )";
strsql+="group by giftname) as tab2";
strsql+="where tab1.giftname*=tab2.giftname ) as tab3";

SqlDataAdapter dap = new SqlDataAdapter(strsql,cxconn);
cxconn.Open();
DataSet ds=new DataSet();
dap.Fill(ds,"tab3");
DataGrid1.DataSource=ds;
DataGrid1.DataBind();
cxconn.Close();

}
请高手看看怎么解决,谢谢!!!
...全文
52 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tw_ak47 2008-07-14
  • 打赏
  • 举报
回复
哦我把括号弄丢了!不过我改成select * from (select tab1.giftname,tab1.in1........后还是说:异常详细信息: System.Data.SqlClient.SqlException: 第 1 行: 'tab1' 附近有语法错误。
chinaicm 2008-07-14
  • 打赏
  • 举报
回复
select * from select
改成
select * from ( select
好象少了一个左括号.这样问题一般拿到查询分析器很容易找到错误的.
  • 打赏
  • 举报
回复
改成
strsql="(select * from [select] tab1.giftname,tab1.in1,isnull(tab2.out1,0) as out2,(tab1.in1-isnull(tab2.out1,0)) as still_in ";
  • 打赏
  • 举报
回复
strsql="(select * from select tab1.giftname,tab1.in1,isnull(tab2.out1,0) as out2,(tab1.in1-isnull(tab2.out1,0)) as still_in ";

请问你的第一行的第二个"select"应该是表名称吧,如果是,请用[select] 。不解你为什么用关键字做表名。

62,177

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧