在我的 Web 表单中,我有文本框和一个单选列表,我需要通过LINQ2SQL查询填充它们。到目前为止,我对此查询进行了编码,以获取将填充到数据库中的特定记录。
using (dbTestDataContext db = new dbTestDataContext())
{
var query = from r in db.Table1
where r.Code == getCode
select new
{
//Account Info
r.Name,
r.Num,
r.AcctNum,
r.CorpAcct, //Bool
};
};
现在我知道此查询将要获取的记录将只有 1 条唯一记录。我想在这些文本框中显示记录,然后选择该单选按钮:
待定名称
泰伯数
tbAcctNum
rbtnCorpAcct
我应该怎么做?提前谢谢你!
很简单:
using (dbTestDataContext db = new dbTestDataContext())
{
var query = (from r in db.Table1
where r.Code == getCode
select new
{
//Account Info
r.Name,
r.Num,
r.AcctNum,
r.CorpAcct, //Bool
}).FirstOrDefault();
if (query != null)
{
tbName.Text = query.Name;
tbNum.Text = query.Num;
//and so on
rbl.SelectedValue = query.SomeValue;
}
};
与其他人通过添加单选按钮回答的相同:
tbName.Text = query.Name;
tbNum.Text = query.Num;
tbAcctNum.Text = query.AcctNum;
if(query.CorpAcct)
rbtn.SelectedValue = "Yes"; \Where "Yes" is one of the radio button values
else
rbtn.SelectedValue = "No";
\Could also use SelectedIndex, rbtn.SelectedIndex = 0 or 1
尝试以下操作:
using (dbTestDataContext db = new dbTestDataContext())
{
var query =
(
from r in db.Table1
where r.Code == getCode
select new
{
//Account Info
r.Name,
r.Num,
r.AcctNum,
r.CorpAcct, //Bool
}
).FirstOrDefault();
tbName.Text = query.Name;
....
};
您需要做的第一件事是从查询中检索单个结果。当你写它时,你正在返回一个IQueryable对象,该对象现在存储在变量"query"中
要获取单个对象,请执行以下操作
var myObject = query.SingleOrDefault();
然后,您可以访问该对象的各个属性并像这样分配它们
tbName.Text = myObject.Name