到目前为止,我构建的大多数 Web 应用程序背后都有一个 Oracle 数据库,因此在获取或更新数据时,我会将搜索变量传递给一个类以构建 SQL,打开一个连接并创建一个 DataTable 以传递回表单然后我绑定到一个gridview - 简单的东西。
我现在将 Linq 用于 SQL Server 数据库。我可以轻松地构建它并让它在 button_click 事件(下面的代码)上工作,但是如果我要将变量传递给一个单独的类来执行此操作,以便它不会从代码隐藏运行,它到底是什么我返回回到表格?
希望这是有道理的 - 我基本上想做下面的事情,但不是在代码隐藏中。
ASB_DataDataContext adb = new ASB_DataDataContext();
var qryAdb = from asb in adb.Inputts
select new
{
NRTno = asb.NRT_No,
PerpSurname = asb.Allg_Perp_Surname,
PerpSteet = asb.Allg_Perp_Street,
HouseNo = asb.Allg_Perp_House_No,
Complainer = asb.Complainant_Surname,
Complainer_Street = asb.Complainant_Street
};
if (txtCompSurname.Text != "")
qryAdb = qryAdb.Where(asb => asb.Complainer == txtCompSurname.Text);
if (txtCompStreet.Text != "")
qryAdb = qryAdb.Where(asb => asb.Complainer_Street == txtCompStreet.Text);
if (txtPerpSurname.Text != "")
qryAdb = qryAdb.Where(asb => asb.PerpSurname == txtPerpSurname.Text);
if (txtPerpStreet.Text != "")
qryAdb = qryAdb.Where(asb => asb.PerpSteet == txtPerpStreet.Text);
if (txtNrtNo.Text != "")
qryAdb = qryAdb.Where(asb => asb.NRTno == Convert.ToInt32(txtNrtNo.Text));
gvResults.DataSource = qryAdb.Select(o => new { o.NRTno, o.PerpSurname, o.PerpSteet, o.HouseNo, o.Complainer, o.Complainer_Street });
gvResults.DataBind();