【问题标题】:How to insert current timestamp in Postgis timestamp without time zone column by using javascript?如何使用javascript在没有时区列的Postgis时间戳中插入当前时间戳?
【发布时间】:2013-11-05 19:21:07
【问题描述】:

我试图从 javascript 插入/更新 postgis 数据库中的时间戳,但它不起作用。我在 postgis 中有 Timestamp 列,Timestamp 没有时区数据类型。

 //My Javascript function is
   function save(){
       var cTime = get
       WebService.saveData('Test', cTime);
   } 

   function getTimeStamp() {
    var cDate = new Date();
    var sChar = String.fromCharCode(39);
    var timeStamp = sChar + cDate.getFullYear() + '-' + (cDate.getMonth() + 1) + '-' + cDate.getDate() + ' ' + cDate.getHours() + ':' + cDate.getMinutes() + ':' + cDate.getSeconds() + '.' + cDate.getMilliseconds() + sChar;
    //alert(timeStamp); //'2013-11-5 17:12:15.242'
   return timeStamp;
 }

   //My webservice function is:
    <WebMethod(enablesession:=True)> _

   Public Function saveData( ByVal name As String,byval cTime as  string) As String
      try

        Dim qryStr As String = "INSERT INTO ODC_Private_Graphics_Data (the_geom,timestamp)  VALUES ("' & name & "'," & cTime & ")"
        dbObj.Connect()
        Dim insertCmd As NpgsqlCommand = New NpgsqlCommand(qryStr, dbObj.dbCon)
        Dim affectedRows As Integer = insertCmd.ExecuteNonQuery
        dbObj.Disconnect()
        insertCmd.Dispose()
        insertCmd = Nothing

Catch ex As Exception

Finally
    dbObj.Disconnect()
End Try

请建议我在 postgis 数据库中插入时间戳的格式。在此先感谢

【问题讨论】:

  • 那么,有什么问题呢?你读过 Npgsql 和/或 PostgreSQL 的手册吗?

标签: javascript postgresql openlayers postgis


【解决方案1】:

在 SQL 表达式中使用单引号,因此您的查询结果将是

INSERT INTO ODC_Private_Graphics_Data(the_geom,timestamp) VALUES ('Test','2013-11-5 17:12:15.242');

双引号用于 PostreSQL 中的列名。

【讨论】:

  • 是的,我尝试使用单引号。但未在数据库中更新。请检查我上面的更新代码
  • 您的更新代码在 cTime 周围没有单引号,因为我可以理解 web 服务语法: Dim qryStr As String = "INSERT INTO ODC_Private_Graphics_Data (the_geom,timestamp) VALUES ("' & name & "' ," & cTime & ")" 你能否编写并以某种方式打印 qryStr 值以确保该值正确?
  • 嗯,抱歉,您将源时间戳值本身用引号括起来。也许在 web 服务端这样做会更好?引号可能会以某种方式转义...
猜你喜欢
  • 2017-07-07
  • 1970-01-01
  • 2011-05-08
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-09
相关资源
最近更新 更多