使用LINQ2SQL填充文本框

时间:2011-05-13 19:19:38

标签: c# asp.net linq linq-to-sql

在我的网络表单中,我有文本框和一个radiolist,我需要通过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个唯一记录。我想在这些文本框中显示记录并选择该单选按钮:

  

tbName
   tbNum
   tbAcctNum
   rbtnCorpAcct

我该怎么做?提前谢谢!

4 个答案:

答案 0 :(得分: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();

             if (query != null)
             {
                tbName.Text = query.Name;
                tbNum.Text = query.Num;
                //and so on
                rbl.SelectedValue = query.SomeValue;
             }
        };

答案 1 :(得分:0)

尝试以下方法:

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;

    ....

};

答案 2 :(得分:0)

与其他人一样,添加了单选按钮:

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

答案 3 :(得分:0)

您需要做的第一件事是从查询中检索单个结果。在编写完成后,您将返回一个IQueryable对象,该对象现在存储在变量“query”

要获得单个对象,请执行此操作

var myObject = query.SingleOrDefault();

然后,您可以访问该对象的各个属性并像这样分配它们

tbName.Text = myObject.Name