VB.Net每日时间记录MySQL

时间:2017-10-12 06:13:49

标签: mysql vb.net

美好的一天,我对MySQL查询有疑问。我想创建每日时间记录输出,但我的问题是进行查询。我想要的是,当一条记录具有相同的id和日期时,必须更新它,否则它将插入一条新记录。这些是表属性的一些屏幕截图

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

    CREATE PROCEDURE dbo.EditGrade
        @Id int 
       ,@TimeIn datetime
       ,@TimeOut datetime
       ,@Existing bit OUTPUT
    AS
    BEGIN

        SET NOCOUNT ON;

        DECLARE @CurrentTimeIn as datetime
DECLARE @CurrentId as int


        SELECT  @CurrentId = Id                 
        FROM    tblAttendance
        WHERE   TimeIn = @TimeIn

        IF (@CurrentId <> @Id)     
           BEGIN
            IF (SELECT COUNT(ISNULL(Id,0))
                FROM tblAttendance
                WHERE TimeIn = @TimeIn            
                    SET @Existing = 0
                ELSE 
                    SET @Existing = 1
            END
        ELSE
           BEGIN
                SET @Existing = 0
           END

           IF @Name = ''
            SET @Name = null

        IF (@Existing = 0)
            UPDATE tblAttendance
            SET TimeIn = @TimeIn
              --other column values here
            WHERE Id = @Id
        ELSE
            --INSERT FROM tblAttendance query here 

    END


    GO

这是从ms sql的存储过程,你只需将其转换为mysql版本。

请注意,日期时间类型也会检查秒数,因此请尽可能不包括秒数,否则它将呈现为不相同(例如,时间= 10:00:01,超时时间为10: 00:02将被渲染为不是相同的)