我有一个网页,其中包含一个包含书籍列表的下拉列表。这些书都存储在sql服务器上。使用 MVC 和 aspx 页面,我试图找出如何检索有关一本书的信息,以便当用户选择一本书时,它会传递该书的价格。我是 sql sever 和 var 语句的新手。
- 我能够从网页检索图书名称并将其发送到我的 Controller
- 在我的模型中,我试图获取这里的数据,这是我的想法。我想获取价格并将其存储到字符串中。但我见过提取信息的唯一方法是使用 var 语句。
这样
var price = from p in BooksDB.Price
where p.Book_Name==bookName
select new {p.Book_Price}
但是我如何获取该值并将其存储到基于我从下拉框中检索到的 Books_Name 的字符串中
顺便说一句,我的 table 是这样的
Id_Num Book_Name Book_Price
1 Pro C# 29.99
2 Beg C++ 10.99
最佳答案
首先是术语更正。
var
只是编译器允许您用来替换类型的关键字。在编译时,编译器将根据使用情况找出类型。
var myString = "hihihi";
string myString = "hihihi";
var
语句与访问数据库无关,尽管添加它是为了让我们这些懒惰的开发人员更轻松地使用 LINQ。
相反,您正在做的是创建一个 LINQ to SQL
查询。我稍微修改了它(您不需要创建匿名对象)。创建语句后,您需要通过调用“ToList()、First() 或 FirstOrDefault() 等”来执行它
LINQ 通常对查询采用惰性或延迟计算,并且在触发执行之前不会执行。
var price = from p in BooksDB.Price
where p.Book_Name==bookName
select p.Book_Price;
//assuming Book_Price is stored as a string datatype.
string bookPrice = price.FirstOrDefault();
//otherwise
string bookPrice = (price.FirstOrDefault() ?? "").ToString();
if(!String.IsNullOrEmpty(bookPrice))
{
//do something with the string.
}
关于c# - SQL 和 C# 从数据库检索单个记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9961037/