每隔10秒写入数据库

时间:2018-08-07 02:29:44

标签: c# sql-server database

我正在使用情绪分析API,该API会分析视频,然后将读取的情绪存储到数据库中。我编写了以下代码,以使其在视频的每10秒仅存储一次 的情绪。它不会将任何内容写入数据库,但是当我删除

  

如果(has.getFrameTimeStamp()%10000 == 0){

部分,它按正常速度每秒写入一次,我不需要。

has.getFrameTimeStamp()=视频的特定秒数

if (has.getFrameTimeStamp() % 10000 == 0) {
using (SqlConnection conn = new SqlConnection(@"<file path>")) {
 conn.Open();

using (SqlCommand cmd1 = new SqlCommand("INSERT INTO TBL_VIDEO(TIMESTAMP,JOY_SCORE,SURPRISE_SCORE,ANGER_SCORE,FEAR_SCORE,SADNESS_SCORE,DISGUST_SCORE) VALUES('" + has.getFrameTimeStamp().ToString() + "','" + people.get(i).impression.emotion_response.joy_score.ToString() + "','" + people.get(i).impression.emotion_response.surprise_score.ToString() + "','" + people.get(i).impression.emotion_response.anger_score.ToString() + "','" + people.get(i).impression.emotion_response.fear_score.ToString() + "','" + people.get(i).impression.emotion_response.sadness_score.ToString() + "','" + people.get(i).impression.emotion_response.disgust_score.ToString() + "')", conn)) {

using (SqlDataReader dr = cmd1.ExecuteReader()) {

                                    }
                                }
                            }
                        }

任何帮助/建议将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

您的基本意思是每166分钟更新一次数据库

如果要10秒,则需要做10的modulo

if (has.getFrameTimeStamp() % 10 == 0)

提示,整理代码,您会绊倒并伤害自己:)


Modulo operation

  

在计算中,取模运算除以余数   一个数字与另一个数字(有时称为模数)。

% Operator (C# Reference)

  

余数运算符(%)将其除以余数   第一个操作数,第二个操作数。所有数字类型均已预定义   余数运算符。