Вы можете попробовать что-то вроде:
private void txtProdId_TextChanged(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == Keys.Enter)
{
using (SqlConnection con = new SqlConnection(connStrng))
{
con.Open();
String strSQL = "SELECT ProdName, Volume, CostPrice From tblProduct Where ProdCode=@ProdCode";
using (SqlCommand cmd = new SqlCommand(strSQL, con))
{
cmd.Parameters.AddWithValue("@ProdCode", txtProdId.Text);
using (SqlDataAdapter DA = new SqlDataAdapter(cmd))
{
DA.SelectCommand = cmd;
try
{
DataSet DS = new DataSet();
DA.Fill(DS);
foreach (DataRow row in DS.Tables[0].Rows)
{
txtProdName.Text = row["ProdName"].ToString();
txtProdVol.Text = row["Volume"].ToString();
txtProdPrice.Text = row["CostPrice"].ToString();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}
}
Я обычно добавляю другой метод к серверу дистанционной работы класс MarshallByRef, (я обычно называю его Ping (), как в:
public void Ping() {}
это ничего не делает, и ничего не возвращает.. Затем, чтобы "протестировать" мое соединение, я называю этот метод... Если это бросает Систему. Сеть. Сокеты. Исключение, я потерял соединение....
Какое преимущество необходимо будет проверить соединение? Даже при проверке с помощью ping-запросов его это не означает, что в следующий момент соединение все еще будет живо при совершении вызова дистанционной работы.
Просто пробуйте/ловите Вас вызовы дистанционной работы, и Вы будете знать.
Этот тип проверок бессмыслен (сетевое соединение, захват файла, и т.д.). Поскольку состояние вещи, которую Вы проверяете, может сразу измениться после проверки. Вы просто лоток и очистка/повторная попытка, если это перестало работать.