对于每个使用Gridviews

时间:2014-05-07 20:04:29

标签: c# asp.net sql gridview

所以我现在已经在这个项目上工作了一段时间而且我已经停留在一个数据网格上了,我想我已经超过了它。我需要在我的oracle db中搜索一个药物ID,然后执行一个foreach循环,将使用该药物ID从数据库中管理它的时间,并将其附加到新列。以下是我到目前为止的情况:

// CONNECT TO THE ORACLE DATABASE
HCconn.ConnectionString = HCtest;
HCconn.Open();

// BUILD SQL COMMAND
OracleCommand cmd = new OracleCommand(queryString, HCconn);
cmd.Parameters.Add("@visitNo",visitno);
cmd.CommandType = CommandType.Text;

// POPULATE GRIDVIEW
GridView_inpatientRx.AutoGenerateColumns = true;
DataSet ds = new DataSet();
OracleDataAdapter oAdapter = new OracleDataAdapter(cmd);
oAdapter.Fill(ds);
GridView_inpatientRx.DataSource = ds.Tables[0];
GridView_inpatientRx.DataBind();


foreach (GridViewRow row in GridView_inpatientRx.Rows)
{
  // HERE IS WHERE I'M STUCK
}

我可以使用一些关于从何处继续前进的指导。

3 个答案:

答案 0 :(得分:0)

通常,您可以在循环示例中从GridView中提取数据:

foreach (GridViewRow row in GridView_inpatientRx.Rows)
    {
        // and now read the content 
        row.Cells[NumberOfCell].Text
    }

答案 1 :(得分:0)

如果可能的话,我会尝试加入你正在构建的SQL查询。

select d.drugid, d.drugname, p.patientName, dose.lastAdmistered from drug d inner join dose dose on d.drugid=dose.drugid inner join patient p on p.patientId = dose.patientId

如果不可能,那么我会调查RowsAdded Event

我现在没有winforms项目,但你想绑定你的网格,然后在每个rowadded事件调用上进行查找(查询选项会更有效率)。

答案 2 :(得分:0)

我建议您查看一个ORM,例如Entity FrameworkNHibernate。使用Entity Framework之类的东西,您可以根据现有数据库生成强类型模型,这样您就不会操纵行对象了。

相关问题