使用LINQ2SQL填充文本框

本文关键字:文本 填充 LINQ2SQL 使用 | 更新日期: 2023-09-27 17:56:18

在我的 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

我应该怎么做?提前谢谢你!

使用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

                        }).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