System.Data.SqlClient.SqlException: 第 1 行: '(' 附近有语法错误

w591829168 2012-11-05 04:45:11

这个问题怎么解决啊?
...全文
319 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
kurtjie 2012-11-06
  • 打赏
  • 举报
回复
也有一种情况,可能是那个字段中填的是word中有垃圾代码。
net5354 2012-11-06
  • 打赏
  • 举报
回复
引用 楼主 w591829168 的回复:
这个问题怎么解决啊?
dap.Fill(ds, "tbName");
l123156 2012-11-06
  • 打赏
  • 举报
回复
("select top(" + top + ") * from LeaguerInfo where type='" + infoType + "' and showday<getdate() order by date desc", "LeaguerInfo"); 改成 ("select top " + top + " * from LeaguerInfo where type='" + infoType + "' and showday<getdate() order by date desc", "LeaguerInfo"); 应该就可以了
men52676521 2012-11-06
  • 打赏
  • 举报
回复
100%是SQL语句的错误。。
C____1988 2012-11-06
  • 打赏
  • 举报
回复
你把SQL取出来,放到查询分析器里查一下就知道是哪里的错了
E次奥 2012-11-05
  • 打赏
  • 举报
回复
1.用String.Format写SQL语句 2.用SQLDataReader查询
w591829168 2012-11-05
  • 打赏
  • 举报
回复
#region 添加供求信息 /// <summary> /// 添加供求信息 /// </summary> /// <param name="type">信息类别</param> /// <param name="title">标题</param> /// <param name="info">内容</param> /// <param name="linkMan">联系人</param> /// <param name="tel">联系电话</param> public void InsertInfo(string type, string title, string info, string linkMan, string tel) { SqlParameter[] parms ={ data.MakeInParam("@type",SqlDbType.VarChar,50,type), data.MakeInParam("@title",SqlDbType.VarChar,50,title), data.MakeInParam("@info",SqlDbType.VarChar,500,info), data.MakeInParam("@linkMan",SqlDbType.VarChar,50,linkMan), data.MakeInParam("@tel",SqlDbType.VarChar,50,tel), }; int i = data.RunProc("INSERT INTO info (type, title, info, linkman, tel) VALUES (@type, @title,@info,@linkMan, @tel)", parms); } #endregion #region 修改供求信息 /// <summary> /// 修改供求信息的审核状态 /// </summary> /// <param name="id">信息ID</param> /// <param name="type">信息类型</param> public void UpdateInfo(string id, string type) { DataSet ds = this.SelectInfo(type, Convert.ToInt32(id)); bool checkState = Convert.ToBoolean(ds.Tables[0].Rows[0][6].ToString()); int i; if (checkState) { i = data.RunProc("UPDATE info SET checkState = 0 WHERE (ID = " + id + ")"); } else { i = data.RunProc("UPDATE info SET checkState = 1 WHERE (ID = " + id + ")"); } } #endregion #region 删除供求信息 /// <summary> /// 删除指定的供求信息 /// </summary> /// <param name="id">供求信息ID</param> public void DeleteInfo(string id) { int d = data.RunProc("Delete from info where id='" + id + "'"); } #endregion #region 查询供求信息 /// <summary> /// 按类型查询供求信息 /// </summary> /// <param name="type">供求信息类型</param> /// <returns>返回查询结果DataSet数据集</returns> public DataSet SelectInfo(string type) { SqlParameter[] parms ={ data.MakeInParam("@type", SqlDbType.VarChar, 50, type) }; return data.RunProcReturn("SELECT ID, type, title, info, linkman, tel, checkState, date FROM info where type=@type ORDER BY date DESC", parms, "info"); } /// <summary> /// 按类型和ID查询供求信息 /// </summary> /// <param name="type">供求信息类型</param> /// <param name="id">供求信息ID</param> /// <returns>返回查询结果DataSet数据集</returns> public DataSet SelectInfo(string type, int id) { SqlParameter[] parms ={ data.MakeInParam("@type", SqlDbType.VarChar, 50, type) , }; return data.RunProcReturn("SELECT ID, type, title, info, linkman, tel, checkState, date FROM info where (type=@type) AND (ID=" + id + ") ORDER BY date DESC", parms, "info1"); } /// <summary> /// 按信息类型查询,审核和未审核信息。 /// </summary> /// <param name="type">信息类型</param> /// <param name="checkState">True 显示审核信息 False显示未审核信息</param> /// <returns>返回查询结果DataSet数据集</returns> public DataSet SelectInfo(string type, bool checkState) { return data.RunProcReturn("select * from info where type='" + type + "' and checkState='" + checkState + "'", "info"); } /// <summary> /// 供求信息快速检索 /// </summary> /// <param name="type">信息类型</param> /// <param name="infoSearch">查询信息的关键字</param> /// <returns>返回查询结果DataSet数据集</returns> public DataSet SelectInfo(string type, string infoSearch) { SqlParameter[] pars ={ data.MakeInParam("@type", SqlDbType.VarChar, 50, type) , data.MakeInParam("@info",SqlDbType.VarChar,50,"%"+infoSearch+"%") }; return data.RunProcReturn("select * from info where (type=@type) and (info like @info) and (checkstate=1)", pars, "info"); } #endregion #region 添加收费供求信息 /// <summary> /// 添加收费供求信息 /// </summary> /// <param name="type">信息类型</param> /// <param name="title">信息标题</param> /// <param name="info">信息内容</param> /// <param name="linkMan">联系人</param> /// <param name="tel">联系电话</param> /// <param name="sumDay">有时天数</param> public void InsertLeaguerInfo(string type, string title, string info, string linkMan, string tel, DateTime sumDay,bool checkState) { SqlParameter[] parms ={ data.MakeInParam("@type",SqlDbType.VarChar,50,type), data.MakeInParam("@title",SqlDbType.VarChar,50,title), data.MakeInParam("@info",SqlDbType.VarChar,500,info), data.MakeInParam("@linkMan",SqlDbType.VarChar,50,linkMan), data.MakeInParam("@tel",SqlDbType.VarChar,50,tel), data.MakeInParam("@showday",SqlDbType.DateTime,8,sumDay), data.MakeInParam("@CheckState",SqlDbType.VarChar,1,checkState) }; int i = data.RunProc("INSERT INTO LeaguerInfo (type, title, info, linkman, tel,showday,checkState) VALUES (@type, @title,@info,@linkMan, @tel,@showday,@CheckState)", parms); } #endregion #region 删除收费供求信息 /// <summary> /// 删除收费供求信息 /// </summary> /// <param name="id">要删除信息的ID</param> public void DeleteLeaguerInfo(string id) { int d = data.RunProc("Delete from LeaguerInfo where id='" + id + "'"); } #endregion #region 查询收费供求信息 /// <summary> /// 显示所有的收费信息 /// </summary> /// <returns>返回DataSet结果集</returns> public DataSet SelectLeaguerInfo() { return data.RunProcReturn("Select * from LeaguerInfo order by date desc", "LeaguerInfo"); } /// <summary> /// 查询收费到期和未到期供求信息 /// </summary> /// <param name="All">True显示未到期信息,False显示到期信息</param> /// <returns>返回DataSet结果集</returns> public DataSet SelectLeaguerInfo(bool All) { if (All)      //显示有效收费信息 return data.RunProcReturn("Select * from LeaguerInfo where showday >= getdate() order by date desc", "LeaguerInfo"); else       //显示过期收费信息 return data.RunProcReturn("select * from LeaguerInfo where showday<getdate() order by date desc", "LeaguerInfo"); } /// <summary> /// 查询同类型收费到期和未到期供求信息 /// </summary> /// <param name="all">True显示未到期信息,False显示到期信息</param> /// <param name="infoType">信息类型</param> /// <returns>返回DataSet结果集</returns> public DataSet SelectLeaguerInfo(bool All, string infoType) { if (All)      //显示有效收费信息 return data.RunProcReturn("Select * from LeaguerInfo where type='" + infoType + "' and showday >= getdate() order by date desc", "LeaguerInfo"); else       //显示过期收费信息 return data.RunProcReturn("Select * from LeaguerInfo where type='" + infoType + "' and showday<getdate() order by date desc", "LeaguerInfo"); } /// <summary> /// 查询显示‘按类型未过期推荐信息’或‘所有的未过期推荐信息’ /// </summary> /// <param name="infoType">信息类型</param> /// <param name="checkState">True按类型显示未过期推荐信息 False显示所有未过期推荐信息</param> /// <returns></returns> public DataSet SelectLeaguerInfo(string infoType,bool checkState) { if (checkState)   //按类型未过期推荐信息 return data.RunProcReturn("SELECT top 20 * FROM LeaguerInfo WHERE (type = '" + infoType + "') AND (showday >= GETDATE()) AND (CheckState = '" + checkState + "') ORDER BY date DESC", "LeaguerInfo"); else       //显示未过期推荐信息 return data.RunProcReturn("SELECT top 10 * FROM LeaguerInfo WHERE (showday >=GETDATE()) AND (CheckState = '" + !checkState + "') ORDER BY date DESC", "LeaguerInfo"); } /// <summary> /// 查询同类型收费到期和未到期供求信息(前N条信息) /// </summary> /// <param name="all">True显示有效收费信息,False显示过期收费信息</param> /// <param name="infoType">信息类型</param> /// <param name="top">获取前N条信息</param> /// <returns></returns> public DataSet SelectLeaguerInfo(bool All, string infoType, int top) { if (All)      //显示有效收费信息 return data.RunProcReturn("Select top(" + top + ") * from LeaguerInfo where type='" + infoType + "' and showday >= getdate() order by date desc", "LeaguerInfo"); else       //显示过期收费信息 return data.RunProcReturn("select top(" + top + ") * from LeaguerInfo where type='" + infoType + "' and showday<getdate() order by date desc", "LeaguerInfo"); } /// <summary> /// 根据ID查询收费供求信息 /// </summary> /// <param name="id">供求信息ID</param> /// <returns></returns> public DataSet SelectLeaguerInfo(string id) { return data.RunProcReturn("Select * from LeaguerInfo where id='" + id + "' order by date desc", "LeaguerInfo"); } #endregion
不简单de 2012-11-05
  • 打赏
  • 举报
回复
你把sql语句贴出来啊
w591829168 2012-11-05
  • 打赏
  • 举报
回复
#region 执行参数命令文本(有返回值) /// <summary> /// 执行查询命令文本,并且返回DataSet数据集 /// </summary> /// <param name="procName">命令文本</param> /// <param name="prams">参数对象</param> /// <param name="tbName">数据表名称</param> /// <returns></returns> public DataSet RunProcReturn(string procName, SqlParameter[] prams, string tbName) { SqlDataAdapter dap = CreateDataAdaper(procName, prams); DataSet ds = new DataSet(); dap.Fill(ds, tbName); this.Close(); //得到执行成功返回值 return ds; } /// <summary> /// 执行命令文本,并且返回DataSet数据集 /// </summary> /// <param name="procName">命令文本</param> /// <param name="tbName">数据表名称</param> /// <returns>DataSet</returns> public DataSet RunProcReturn(string procName, string tbName) { SqlDataAdapter dap = CreateDataAdaper(procName, null); DataSet ds = new DataSet(); dap.Fill(ds, tbName); this.Close(); //得到执行成功返回值 return ds; } #endregion
mizuho_2006 2012-11-05
  • 打赏
  • 举报
回复
检查你的sql语句。
yimays 2012-11-05
  • 打赏
  • 举报
回复
这个很明显是sql语句有误,好好检查下sql语句,或者把sql语句贴出来大家看看
w591829168 2012-11-05
  • 打赏
  • 举报
回复
那具体怎么修改的啊。。?
不简单de 2012-11-05
  • 打赏
  • 举报
回复
sql语句有错

62,041

社区成员

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

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

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

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