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)

解决方案 »

  1.   

    “set @Id 9;select * from `AF_ApproveFlowTemplet` WHERE `Id`=@Id;"
    这条语句,怎么看也不会执行成功啊
    直接把值拼接一下就可以了。不用set吧。
      

  2.   

    sql语句为“set @Id 9;select * from `AF_ApproveFlowTemplet` WHERE `Id`=@Id;";”把你完整的SQL贴出来,
    你这个肯定有问题
    set @Id 9;
    缺等号,分号不对
      

  3.   

    chaoking 
      '截至2011-04-27 09:26:13  用户结帖率0.00%当您的问题得到解答后请及时结贴.
    http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
    http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
    http://topic.csdn.net/u/20100626/09/f35a4763-4b59-49c3-8061-d48fdbc29561.html8、如何给分和结贴?
    http://community.csdn.net/Help/HelpCenter.htm#结帖
      

  4.   

    各位不好意思 sql语句写错了:
    “set @Id := 9;select * from `AF_ApproveFlowTemplet` WHERE `Id`=@Id;";”
    符号的全半角也正确,在mysql中执行成功,但是到.net里面就会出现异常
      

  5.   

    “set @Id := 9select * from `AF_ApproveFlowTemplet` WHERE `Id`=@Id;";”这个是全角!另外后面这个"; 是怎么回事儿?
      

  6.   

    请不要再在全半角上做文章了 这个sql语句是我手动写过来的,没有copy过来——
    string sql =" set @Id := 9;select * from `AF_ApproveFlowTemplet` WHERE `Id`=@Id;";cmd.commandtext = sql;
    cmd.commandtype = commandtype.text;
    cmd.ExecuteScalar();//这样的话在执行的时候会出错。