判断datareader是否返回某个字段
public bool ContainsField(SqlDataReader reader, string name)
{
for (int i = 0; i < reader.FieldCount; i++)
{
if (reader.GetName(i) == name)
return true;
}
return false;
}
写个方法,返回的时候用方法包一下做判断。
public void test()
{
SqlConnection conn = new SqlConnection(Web.Class.Constant.HelpConstant.DBCONN_STRING);
SqlCommand cmd = new SqlCommand();
SqlDataReader dr;
conn.Open();
cmd.CommandText = "Select top 1 * From frmuser";
cmd.CommandType = CommandType.Text;
cmd.Connection = conn;
dr = cmd.ExecuteReader();
string account="";
string noexists="";
while (dr.Read())
{
if (ContainsField(dr, "Account"))
{
account = dr["Account"].ToString();
// Response.Write(account);
}
if (!ContainsField(dr, "heqianjin"))
{
Response.Write("不存在'heqianjin'这个字段");
}
if (ContainsField(dr, "heqianjin"))
{
noexists = dr["heqianjin"].ToString();
}
}
dr.Close();
}
浙公网安备 33010602011771号