if (conn.State == ConnectionState.Closed)
conn.Open();
SqlCommand qr1 = new SqlCommand("select TransID, FType, FldName, LTrans,
OnCCBeforeLoad, LTop, LLeft, LWidth, LHeight, LFColor
from jwOndropExecButtonS where active = 'T' and MyType = ''
and LTrans = '" + TmpRajTransID + "' order by dbo.val(TransID) ", conn);
SqlDataReader d1 = qr1.ExecuteReader();
while (d1.Read())
{
if (d1.HasRows)
{
string MrFldName = d1["FldName"].ToString().Trim();
if (d1["OnCCBeforeLoad"].ToString().Trim() == "Clr")
ClearValueandToolTipforFieldName(MrFldName);
if (d1["LTop"].ToString().Trim() != "")
DisplaySetTopValue(MrFldName, d1["LTop"].ToString().Trim());
if (d1["LLeft"].ToString().Trim() != "")
DisplaySetLeftValue(MrFldName, d1["LLeft"].ToString().Trim());
if (d1["LWidth"].ToString().Trim() != "")
DisplaySetWidthValue(MrFldName, d1["LWidth"].ToString().Trim());
if (d1["LHeight"].ToString().Trim() != "")
DisplaySetHeightValue(MrFldName, d1["LHeight"].ToString().Trim());
if (d1["FType"].ToString().Trim() == "Visible")
ShowTextBoxWithFldName(MrFldName);
if (d1["FType"].ToString().Trim() == "InVisible")
HideandClearTextBoxWithFldName(MrFldName);
if (d1["FType"].ToString().Trim() == "InNVisible")
HideOnlyTextBoxWithFldName(MrFldName);
if (d1["FType"].ToString().Trim() == "Enable")
SetEnableforFieldName(MrFldName);
if (d1["FType"].ToString().Trim() == "Disable")
SetDisableforFieldName(MrFldName);
}
}
d1.Close();
if (conn.State == ConnectionState.Open)
conn.Close();
Время от времени я получал одну и ту же ошибку в
if (d1["FType"].ToString().Trim() == "Visible")
говоря metadata not found
. Позже я обнаружил, что программа чтения не была закрыта, но программа ASP.NET, использующая слишком много памяти, автоматически закрывала программу чтения. Это в основном зависит от стадии сервера SQL. Если это обычная ошибка, проверьте соединение.