asp.net 如何快速消除淤青

wkyowqbh  于 12个月前  发布在  .NET
关注(0)|答案(6)|浏览(124)

我需要遍历一个DataTable。我有一个列名为ImagePath
当我使用DataReader时,我是这样做的:

SqlDataReader dr = null;
dr = cmd.ExecuteReader();
while (dr.Read())
{
    TextBox1.Text = dr["ImagePath"].ToString();
}

字符串
如何使用DataTable实现相同的功能?

q9yhzks0

q9yhzks01#

DataTable dt = new DataTable();

SqlDataAdapter adapter = new SqlDataAdapter(cmd);

adapter.Fill(dt);

foreach(DataRow row in dt.Rows)
{
    TextBox1.Text = row["ImagePath"].ToString();
}

字符串
.假设连接是打开的,命令设置正确。我也没有检查语法,但它应该给给予你的想法。

qojgxg4l

qojgxg4l2#

foreach (DataRow row in myDataTable.Rows)
{
   Console.WriteLine(row["ImagePath"]);
}

字符串
我是凭记忆写的。
希望这能给你足够的提示来理解对象模型。
DataTable-> DataRowCollection-> DataRow(可以使用&查找该行的列内容,使用columnName或ordinal)。
-> =包含。

iyfjxgzm

iyfjxgzm3#

您也可以使用数据集的linq扩展:

var imagePaths = dt.AsEnumerble().Select(r => r.Field<string>("ImagePath");
foreach(string imgPath in imagePaths)
{
    TextBox1.Text = imgPath;
}

字符串

dwbf0jvd

dwbf0jvd4#

已经有很好的解决方案已经给出。下面的代码可以帮助其他人查询datatable并获得ImagePath列的datatable的每行的值。

for (int i = 0; i < dataTable.Rows.Count; i++)
  {
       var theUrl = dataTable.Rows[i]["ImagePath"].ToString();
  }

字符串

hsgswve4

hsgswve45#

上面的例子是相当有帮助的.但是,如果我们想检查是否一个特定的行有一个特定的值或没有.如果是,然后删除和打破,并在没有发现值的情况下直接抛出错误.下面的代码工作:

foreach (DataRow row in dtData.Rows)
        {
            if (row["Column_name"].ToString() == txtBox.Text)
            {
                // Getting the sequence number from the textbox.
                string strName1 = txtRowDeletion.Text;

                // Creating the SqlCommand object to access the stored procedure
                // used to get the data for the grid.
                string strDeleteData = "Sp_name";
                SqlCommand cmdDeleteData = new SqlCommand(strDeleteData, conn);
                cmdDeleteData.CommandType = System.Data.CommandType.StoredProcedure;

                // Running the query.
                conn.Open();
                cmdDeleteData.ExecuteNonQuery();
                conn.Close();

                GetData();

                dtData = (DataTable)Session["GetData"];
                BindGrid(dtData);

                lblMsgForDeletion.Text = "The row successfully deleted !!" + txtRowDeletion.Text;
                txtRowDeletion.Text = "";
                break;
            }
            else
            {
                lblMsgForDeletion.Text = "The row is not present ";
            }
        }

字符串

oyjwcjzk

oyjwcjzk6#

foreach(DataGridViewRow row in dataGridView1){ var a = row.Cells[4].Value.ToString(); }

字符串

相关问题