mysql 的查询语句在数据库中执行成功,为什么在C#里面运行就异常呢

chaoking320 2011-04-27 09:26:13
sql语句为“set @Id 9;select * from `AF_ApproveFlowTemplet` WHERE `Id`=@Id;";”

在mysql中执行正确,但是用.net封装的数据库对象执行就出现异常,异常信息为:
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
...全文
151 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
kfyypm 2011-04-29
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 chaoking 的回复:]

请不要再在全半角上做文章了 这个sql语句是我手动写过来的,没有copy过来——
string sql =" set @Id := 9;select * from `AF_ApproveFlowTemplet` WHERE `Id`=@Id;";

cmd.commandtext = sql;
cmd.commandtype = commandtype.text;
cmd.Execut……
[/Quote]
有可能是字符集的问题
chaoking320 2011-04-27
  • 打赏
  • 举报
回复
各位不好意思 sql语句写错了:
“set @Id := 9;select * from `AF_ApproveFlowTemplet` WHERE `Id`=@Id;";”
符号的全半角也正确,在mysql中执行成功,但是到.net里面就会出现异常
ACMAIN_CHM 2011-04-27
  • 打赏
  • 举报
回复
少了个=号吧,另外;号用的是中文全角而不英文的;

zuoxingyu 2011-04-27
  • 打赏
  • 举报
回复
sql语句为“set @Id 9;select * from `AF_ApproveFlowTemplet` WHERE `Id`=@Id;";”

把你完整的SQL贴出来,
你这个肯定有问题
set @Id 9;
缺等号,分号不对
iihero 2011-04-27
  • 打赏
  • 举报
回复
“set @Id 9;select * from `AF_ApproveFlowTemplet` WHERE `Id`=@Id;"
这条语句,怎么看也不会执行成功啊
直接把值拼接一下就可以了。不用set吧。
chaoking320 2011-04-27
  • 打赏
  • 举报
回复
请不要再在全半角上做文章了 这个sql语句是我手动写过来的,没有copy过来——
string sql =" set @Id := 9;select * from `AF_ApproveFlowTemplet` WHERE `Id`=@Id;";

cmd.commandtext = sql;
cmd.commandtype = commandtype.text;
cmd.ExecuteScalar();//这样的话在执行的时候会出错。
ACMAIN_CHM 2011-04-27
  • 打赏
  • 举报
回复
“set @Id := 9select * from `AF_ApproveFlowTemplet` WHERE `Id`=@Id;";

这个是全角!另外后面这个"; 是怎么回事儿?

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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