文本框中的 SQL 表结果命令,而不是 C# 中的结果
本文关键字:结果 命令 SQL 文本 | 更新日期: 2023-09-27 17:56:45
这是我的表格设置:
int | Design_1
0 | Design_A
1 | Design_B
2 | Design_C
这是我的表单代码:
var design = (from d in BikePartsDataContext1.handlebars
where d.@int == "0"
select d.Design_1);
this.textBox1.Text = design.ToString();
我试图做的是使textBox1
文本具有@int
为 0 的行中的 Design_1
值的值。
一切正常,直到我将其作为textBox1
的文本值:
SELECT [t0].[Design 1] FROM [dbo].[handlebars] AS [t0] WHERE [t0].[int] = @p0
我想你想要第一个基于Id的记录吗?
// at top of file so you can use the extension methods
using System.Linq;
// code
var design = (from d in BikePartsDataContext1.handlebars
where d.@int == 0 // i removed the quotes add them back if this is truely a string/sql varchar
select d.Design_1).Single(); // use single to ensure only 1 record will get selected
this.textBox1.Text = design; // design will now be the value of Design_1
一些注意事项:
- 如果未找到记录
- 或找到多个记录,则单个将引发异常。
- 如果可以有 0 条记录,请使用
SingleOrDefault
- 如果可以有 1 条以上的记录,并且您不在乎使用哪一条,请使用
First
或FirstOrDefault
- 我假设您的 id 是一个 int 而不是一个字符串,所以我删除了
0
周围的引号,如果不是这种情况,请将它们添加回来
您也可以仅使用 lambda 表达式重写它:
this.textBox1.Text = BikePartsDataContext1.handlebars
.Where(x => x.@int == 0)
.Select(x => x.Design_1)
.Single();