查找每个linq2sql字符串问题
本文关键字:字符串 问题 linq2sql 查找 | 更新日期: 2023-09-27 18:09:19
大家好,当我试图匹配一个字母O在我的数据库我得到字符串格式错误。我已经尝试了一些事情,现在谷歌很多,但仍然不能解决这个错误
const string st1 = ("O");
var docketcheck = from q in db.Dockets
where q.DocketNum == txtDisplay.Text && q.Status.Equals(st1)
select q;
foreach (Docket d in docketcheck)
{
if (d.EngName.Equals("NULL"))
{
isEngNameNull = true;
break;
}
}
if (isEngNameNull)
{
txtDisplay.Clear();
txtDisplay.ReadOnly = false;
var engs = new EngStart();
engs.ShowDialog(this);
}
else
{
var sub = new machinesel();
txtDisplay.Clear();
sub.ShowDialog(this);
}
检查我的mssql数据库是否包含上述代码中的字母O的正确方法是什么
谢谢
如果q.Status是字符串类型的列,那么您这样做是很好的。如果您感兴趣的话,下面是lambda的方法。
db.Dockets.Where(q => q.DocketNum == txtDisplay && q.Status == "O")
你的代码看起来很好,当我在我的机器上测试一个等效的查询时,它没有问题。
你可以整理一下你的代码,这样它只会拉回匹配记录的计数,像这样:
const string st1 = "O";
var docketcheck =
from q in db.Dockets
where q.DocketNum == txtDisplay.Text
where q.Status == st1
where d.EngName == "NULL"
select q;
if (docketcheck.Any())
{
txtDisplay.Clear();
txtDisplay.ReadOnly = false;
var engs = new EngStart();
engs.ShowDialog(this);
}
else
{
var sub = new machinesel();
txtDisplay.Clear();
sub.ShowDialog(this);
}