繁体   English   中英

如何检查列的值是否为假我想插入我的数据

[英]How to check value of column is false i want to insert my data

在此处输入图片说明

我正在创建 C# 应用程序,如果 trigger_0 的最后一个值是 False 插入我当前的日期和时间,帮我解决这个问题:

        String test = DateTime.Now.ToShortDateString();
        String test1 = DateTime.Now.ToString("hh:mm");
        con.Open();
        SqlCommand cmdt = con.CreateCommand();
        cmdt.CommandType = CommandType.Text;
        cmdt.CommandText = "SELECT TOP 1 trigger_0 FROM WINDATAA  ORDER BY trigger_0 DESC ";
        cmdt.ExecuteNonQuery();
        con.Close();

我猜您正在尝试更新所有行:

UPDATE WINDATAA
SET [date] = CONVERT(VARCHAR(10), GETUTCDATE(), 121)
   ,[time] = LEFT(CAST(GETUTCDATE() AS TIME), 5)
WHERE [triggger_0] = 'false' -- or [triggger_0] = 0 if boolean

如果您只需要修改最后一个,您可以使用一些 id(如果有),或者提前获取最大/最后日期并使用WHERE子句中的值。

只需从您执行的查询中获取结果,看看它是否为true 如果为true则只需插入您的数据:

bool trigger = true;
SqlCommand cmdt = con.CreateCommand();
cmdt.CommandType = CommandType.Text;
var result = cmdt.ExecuteScalar();       
bool.TryParse(result, out trigger);
if (trigger == false) {
    // insert your data. For example:
   string query = "INSERT INTO dbo.FooTable (id,username) VALUES (@id,@username)"; 
   SqlCommand command = new SqlCommand(query, db.Connection);
   string preventNull = null;
   preventNull = preventNull == null ? "Is not null" : "Hey!";
   string fooUserName = null;
   fooUserName = fooUserName == null ? "Bob not null" : "Hey!";
   command.Parameters.Add("@id", preventNull );
   command.Parameters.Add("@username", fooUserName );      
   command.ExecuteNonQuery();
}

如果我理解正确,您想检查表中最后创建的项目是否具有值 true 或 false。 如果您的数据库中的字段时间描述了创建时间,您可以按日期和时间对项目进行排序,例如

SELECT TOP 1 trigger_0 FROM WINDATAA  ORDER BY date, time DESC 

我看到的另一个选项是,如果您的表的 id 是一个整数,那么您可以按 Id 订购项目:

SELECT TOP 1 trigger_0 FROM WINDATAA  ORDER BY Id DESC 

然后你可以在C#中创建一个语句,并在需要时使用对象的数据

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM