假设我有LINQ查询,例如:
var authors = from x in authorsList
where x.firstname == "Bob"
select x;
Run Code Online (Sandbox Code Playgroud)
鉴于它authorsList
是类型List<Author>
,我如何删除查询返回的Author
元素?authorsList
authors
或者换句话说,如何删除所有名字等于Bob的名字authorsList
?
注意:这是用于问题目的的简化示例.
我需要检查(从同一个表)基于日期时间的两个事件之间是否存在关联.
一组数据将包含某些事件的结束日期时间,另一组数据将包含其他事件的开始日期时间.
如果第一个事件在第二个事件之前完成,那么我想将它们链接起来.
到目前为止我所拥有的是:
SELECT name as name_A, date-time as end_DTS, id as id_A
FROM tableA WHERE criteria = 1
SELECT name as name_B, date-time as start_DTS, id as id_B
FROM tableA WHERE criteria = 2
Run Code Online (Sandbox Code Playgroud)
然后我加入他们:
SELECT name_A, name_B, id_A, id_B,
if(start_DTS > end_DTS,'VALID','') as validation_check
FROM tableA
LEFT JOIN tableB ON name_A = name_B
Run Code Online (Sandbox Code Playgroud)
那么,基于我的validation_check字段,我可以使用SELECT嵌套运行UPDATE查询吗?
使用.NET 3.5
我想确定当前时间是否落在时间范围内.
到目前为止,我有目前的情况:
DateTime currentTime = new DateTime();
currentTime.TimeOfDay;
Run Code Online (Sandbox Code Playgroud)
我正在搞清楚如何获得转换和比较的时间范围.这会有用吗?
if (Convert.ToDateTime("11:59") <= currentTime.TimeOfDay
&& Convert.ToDateTime("13:01") >= currentTime.TimeOfDay)
{
//match found
}
Run Code Online (Sandbox Code Playgroud)
更新1:感谢大家的建议.我不熟悉TimeSpan功能.
当数据不可用时,有没有办法删除或隐藏winform的数据网格灰色区域?
二,如何删除/隐藏默认的灰色列?
dataGridView1.DataSource = oresult;
dataGridView1.Columns["Id"].Visible = false;
dataGridView1.Columns["AddedBy"].Visible = false;
dataGridView1.Columns["AddmissionInClass"].Visible = false;
dataGridView1.Columns["IsDeleted"].Visible = false;
dataGridView1.Enabled = false;
Run Code Online (Sandbox Code Playgroud)
我隐藏了这样无用的列,却无法找到隐藏它们的方法.
(刚刚学习MVC)
我创建了一个模型类:
public class Employee
{
public int ID { get; set; }
[Required(ErrorMessage="TM Number is Required")]
public string tm_number { get; set; }
//use enum?
public tmRank tm_rank { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
模型类引用枚举'tmRank':
public enum tmRank
{
Hourly, Salary
}
Run Code Online (Sandbox Code Playgroud)
当我从这个模型创建一个视图时,'tm_rank'字段没有出现?我希望MVC会创建一个枚举值列表.
我的想法是通过C#(3.5)Winforms应用程序通过MySQL .NET Connector 6.2.2与MySQL数据库交谈,为Insert/Update/Select创建一些通用类.
例如:
public void Insert(string strSQL)
{
if (this.OpenConnection() == true)
{
MySqlCommand cmd = new MySqlCommand(strSQL, connection);
cmd.ExecuteNonQuery();
this.CloseConnection();
}
}
Run Code Online (Sandbox Code Playgroud)
然后,从程序的任何地方我都可以通过传递SQL查询字符串来运行带/不带用户输入的查询.
在SO上阅读开始告诉我这可能导致SQL注入攻击(对于任何用户输入值).无论如何擦除输入的strSQL还是我需要在每个需要执行数据库功能的方法中创建单独的参数化查询?
UPDATE1:
我的最终解决方案看起来像这样:
public void Insert(string strSQL,string[,] parameterValue)
{
if (this.OpenConnection() == true)
{
MySqlCommand cmd = new MySqlCommand(strSQL, connection);
for(int i =0;i< (parameterValue.Length / 2);i++)
{
cmd.Parameters.AddWithValue(parameterValue[i,0],parameterValue[i,1]);
}
cmd.ExecuteNonQuery();
this.CloseConnection();
}}
Run Code Online (Sandbox Code Playgroud) 我有这样的模型类:
public class SomeClass
{
public int EmployeeId {get;set;}
public int DayTotal {get;set}
}
Run Code Online (Sandbox Code Playgroud)
对于此模型类,我正在为'DayTotal'属性创建自定义ValidationAttribute.自定义验证器将针对另一个定义允许的最大天数的表检查输入的值'DayTotal'值.
在验证器中编写查询时,如何从"创建"视图中引用所选的"EmployeeId"?
public class DayTotalAttribute : ValidationAttribute
{
ProjectDBContext db = new ProjectDBContext();
public override bool IsValid(object value)
{
if (value == null)
{
return false;
}
var products = from p in db.EmployeeDayMax
where p.EmployeeId = ???
}
}
Run Code Online (Sandbox Code Playgroud)
更新:
我的解决方案采取了不同的方法.有用的答案让我在其他地方寻找.此博客由斯科特谷有助于提供一个更简单的方法:
在我的模型中 - >
public class SomeClass : IValidateObject
{
public int EmployeeId {get; set;}
public int DayTotal {get; set;}
public IEnumerable<ValidationResult> Validate(ValidationContext …
Run Code Online (Sandbox Code Playgroud) 我有一个winforms listview,在详细列表视图中显示了200个项目.
屏幕上一次显示50个项目.我想点击一个按钮,让listview显示所选的索引# - 例如#113.
我遇到的问题是我可以选择索引113但列表视图不会在滚动范围的顶部显示113.
我需要做些什么才能让listview转移到selectindex?
UPDATE1:
答案是使用EnsureVisible:
populateListView();
this.listView1.Items[113].Selected = true;
this.listView1.Items[113].EnsureVisible();
Run Code Online (Sandbox Code Playgroud) 在MySQL(5.1)数据库表中,有数据表示:
MySQL会支持关联数据还是需要使用PHP/C#来计算?
我在哪里可以找到计算相关性的好公式(自从我上次这样做以来已经很长时间了)?