C# 如何使用数据集的列
我有一个C# 如何使用数据集的列,c#,asp.net,dataset,C#,Asp.net,Dataset,我有一个数据集的结果集,如下所示 if(dataset rows(Usermail) == 10000){then go ahead} [![Dataset][1]][1] 现在,我想添加IF条件以进行如下检查 if(dataset rows(Usermail) == 10000){then go ahead} 这是我的密码 DataSet ds = new DataSet(); using (SqlConnection conn = new SqlConnection(Co
数据集的结果集,如下所示
if(dataset rows(Usermail) == 10000){then go ahead}
[![Dataset][1]][1]
现在,我想添加IF
条件以进行如下检查
if(dataset rows(Usermail) == 10000){then go ahead}
这是我的密码
DataSet ds = new DataSet();
using (SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"].ToString()))
{
SqlCommand sqlComm = new SqlCommand("GET_INWARD_REMINDER_REPORT", conn);
sqlComm.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = sqlComm;
da.Fill(ds);
if(DataSet rowchecking)
{
}
}
所以我的问题是,如何检查和比较数据集列
您可以使用foreach
循环行,并使用DataRow.Field
获取电子邮件:
foreach(DataRow row in ds.Tables[0].Rows)
{
if(row.Field<string>("UserEmail") == "10000")
continue; // or revert it and do something if UserEmail != "1000"
}
foreach(ds.Tables[0].Rows中的数据行)
{
如果(行字段(“用户电子邮件”)=“10000”)
继续;//如果UserEmail!=“1000”,则还原它并执行某些操作
}
您可以使用foreach
循环行,并使用DataRow.Field
获取电子邮件:
foreach(DataRow row in ds.Tables[0].Rows)
{
if(row.Field<string>("UserEmail") == "10000")
continue; // or revert it and do something if UserEmail != "1000"
}
foreach(ds.Tables[0].Rows中的数据行)
{
如果(行字段(“用户电子邮件”)=“10000”)
继续;//如果UserEmail!=“1000”,则还原它并执行某些操作
}
您可以按如下方式执行:
int First = Convert.ToInt32(ds.Tables[0].Rows[0]["columnName1"].ToString());
string Second = ds.Tables[0].Rows[0]["columnName2"].ToString();
因此,对于您的情况,它可以是:
foreach (DataRow dr in ds.Tables[0].Rows)
{
if(dr["UserEmail"].ToString() == "10000")
{
//do something;
}
}
您可以按如下方式进行操作:
int First = Convert.ToInt32(ds.Tables[0].Rows[0]["columnName1"].ToString());
string Second = ds.Tables[0].Rows[0]["columnName2"].ToString();
因此,对于您的情况,它可以是:
foreach (DataRow dr in ds.Tables[0].Rows)
{
if(dr["UserEmail"].ToString() == "10000")
{
//do something;
}
}
后填充数据集
if (ds.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
if(ds.Tables[0].Rows[i]["UserEmail"].ToString() == "10000")
{
//do something;
}
}
}
if(ds.Tables[0].Rows.Count>0)
{
对于(int i=0;i
填充数据集后
if (ds.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
if(ds.Tables[0].Rows[i]["UserEmail"].ToString() == "10000")
{
//do something;
}
}
}
if(ds.Tables[0].Rows.Count>0)
{
对于(int i=0;i
您需要访问行中的字段,获取其值而不是列。@Alex:只有我想知道,如何实现它。您需要访问行中的字段,获取其值而不是列。@Alex:只有我想知道,如何实现。将错误获取为system.data.dataset’在表中不包含“表”的定义。NK:修复了它,它的表中不包含表中的是,也在行字段(“UserEmail”)中)
我收到错误,因为**无法将字符串隐式转换为bool@NK:是否确实使用了上述代码?这是如果(row.Field(“UserEmail”)==“10000”)…
对不起,我没有更改它。已更新为您的最新版本。现在没有错误。检查作为system.data.dataset获取错误“在表中不包含“表”的定义。NK:修复了它,它的表不表
是,也在行.Field(“UserEmail”)
我收到错误,因为**无法隐式将字符串转换为bool@NK:是否确实使用了上述代码?这是如果(row.Field(“UserEmail”)==“10000”)…
对不起,我没有更改它。已更新为您的最新版本。现在没有错误。但它只发送一封邮件,我们可以循环吗?但它只发送一封邮件,我们可以循环吗??