Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(197评价)
价格: 4431.00元
photon+Nhibernate,数据库报错,求助
Cloud发起了问答2017-07-20
5
回复
212
浏览

SIKI老师你好,现在情况是这样,我跟着视频做,login和注册的功能都实现了,注册后往数据库里添加新的用户名和密码也没问题,但是当我自己建一个表,想通过客户端传一些数据时,服务器修改sql的时候报错。错误如下:

2017-07-20 11:06:29,963 [12] ERROR NHibernate.AdoNet.AbstractBatcher - Could not execute query: INSERT INTO robot (body, left, right, leg) VALUES (?p0, ?p1, ?p2, ?p3);SELECT LAST_INSERT_ID()

MySql.Data.MySqlClient.MySqlException (0x80004005): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'left, right, leg) VALUES ('Body_5', 'gun', 'gun', 'Leg_01');SELECT LAST_INSERT_I' at line 1

代码什么的我都是复制粘贴然后修改的,看了几遍也没找到哪有问题,麻烦帮我看下可能是哪部分出的问题吗?谢谢!

 

所有回复
  • Cloud 2017-07-20

    我发现如果在数据词典中只包含一个字符串,就不会报错,也可以对数据库进行修改,如果包含两个就会报错,可能是什么原因?谢谢~

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • siki 2017-07-20

    是不是你数据库中定义的(body, left, right, leg 这几个字段,里面有不是varchar类型的,导致添加不上的呢

    还有就是你的代码怎么写的

    AddWithValue("p0", xxx);
    
    
    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • siki 2017-07-20
    AddWithValue("p0", xxx);

    这里你是不是写成

    @p0了

     

    • Cloud 2017-07-21

      感谢老师的回复,今天终于找到原因了。原来是在声明变量时起了个名字“left”,估计是Nhibernate的关键字,处理程序的时候报错。把这个名字改了就好了。

      (0) 回复
    • siki 2017-07-21

      回复 @ Cloud: 好的

      (0) 回复
    还有-3条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!