2011-04-02 75 views
0

有一個表中包含交易日期。它被設置爲時間戳,基本上我想創建一個新的記錄,該字段自動插入當前日期。我正在使用visual studio 2010和ASP.net SQL不知道如何去做。不需要SQL注入保護,這只是一個簡單的方法。有任何想法嗎?將當前日期插入ASP SQL

馬克

回答

3
  • Oracle有一個SYSDATE()函數,
  • SqlServer的具有GETDATE()
  • MySQL有NOW()

用它在你的DML(SELECT,INSERT )陳述

+0

嗨,我把GETDATE(),它說,在目前情況下不存在。 – Mark 2011-04-02 22:49:25

+0

這是Oracle嗎?如果是這樣'SELECT SYSDATE()FROM DUAL;'應該工作(我看你現在添加了適當的標籤);另請參見[http://www.grantondata.com/community/dbrosettastone.html] **擴展MySQL的答案** – sehe 2011-04-02 23:20:03

2
INSERT INTO [AdventureWorks].[dbo].[ErrorLog] 
      ([ErrorTime] 
      ,[UserName] 
      ,[ErrorNumber] 
      ,[ErrorMessage] 
) 
    VALUES 
      (GetDate() --This will work for MSSQL 
      ,'userName' 
      ,7551 
      ,'I inserted the current date/Time' 
) 

or(again for SQL服務器)

ALTER TABLE dbo.ErrorLog ADD CONSTRAINT 
    DF_ErrorLog_ErrorTime_current_DateTime DEFAULT (getdate()) FOR ErrorTime) 
0

如果上述代碼在存儲過程中,那麼getDate()應該工作。如果是,你是通過ado.net發送SQL命令字符串,那麼你需要做到這一點(在VB爲例):

的SqlString = 「INSERT INTO mytable的(myDateTimeColumn)VALUES('」 &現在()& 「')」

myCommand.Execute(的SqlString)...等

+0

GetDate()將僅從客戶端(即ado.net命令)起作用。從SSMS或ado.net命令運行上述語句確實沒有區別。您將看到的唯一區別是數據庫的當前日期時間或客戶端。 – Rob 2011-04-03 03:22:24