[英]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.