【问题标题】:Javascript variable, different values, same lineJavascript变量,不同的值,同一行
【发布时间】:2014-01-22 12:59:26
【问题描述】:

首先,让我为标题道歉,因为它不是那么解释,但我不能用其他方式说出来。

交易是:我正在做一个 javascript 应用程序,其中我有一个名为“ocorrencia”的对象,它的定义如下:

var ocorrencia = new Object();

那个对象有几个孩子,被一个方法填充:

ocorrencia.idOcorrencia = ""+ year + month + day + hour + minute + second + milisec;

idOcorrencia 是我遇到的问题,因为我正在运行具有此值的数据库插入,并且我在同一个插入中使用了 2 次,例如:

var sql = 'INSERT INTO OCORRENCIAS (id, ocorrencia, data, resolucao, urgencia, foto) VALUES (' + ocorrencia.idOcorrencia + ', "' + ocorrencia.descricao + '", "' + ocorrencia.data + '", "' + ocorrencia.resolucao + '", "' + ocorrencia.grauUrg + '", "' + ocorrencia.idOcorrencia + '.jpg"' +')';

插入运行良好,我已将所有数据插入数据库中,但“id”和“foto”(应该获得相等的值)在 2 或 3 毫秒内给了我不同的值。

这怎么会发生,因为我没有更改“ocorrencia.idOcorrencia”?

这是在 Android 设备中进行测试。

编辑:在 Windows 浏览器上测试,问题似乎没有发生。

谢谢

【问题讨论】:

  • 因此,经过数小时的监控,我们得出了一个结论。我设法查看了我的数据库,但值是错误的,所以错误一定是在插入时。我曾经写过一个数字(用作 ID),另一个写成字符串。在尝试将字符串写入 2 次后,值总是正确的,所以我将使用字符串作为我的 ID。只有当 MySQL 在将大字符串直接转换为数字时存在错误时,我们才能真正得到解释。如果有人能判断这是否是一个已知问题,那就太好了!

标签: javascript android mysql


【解决方案1】:

我猜你在运行时填写 idOcorrencia?所以滞后产生了这种差异。 尝试使用哈希作为 id 或在运行 SQL 查询之前设置它。

【讨论】:

  • 我是在运行时填充的,但是我只填充了一次,使用了两次,所以值应该是一样的...
  • 对不起,我的意思是:你是在 sql-statement 之前填充它?
  • 是的,我是,但它仍然不能那样工作。我找到了一种解决方法,我将在我的问题中作为评论进行解释。随便看看吧。
猜你喜欢
  • 2019-07-28
  • 1970-01-01
  • 1970-01-01
  • 2021-05-23
  • 2022-01-22
  • 1970-01-01
  • 2017-01-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多