У меня проблемы с открытыми переменными и областью видимости.
Вот мой код
private void PopulateCaseViewer(string paramField, string paramValue)
{
string strConnection = BuildConnectionString();
SqlConnection linkToDB = new SqlConnection(strConnection);
if (paramField == "load")
{
string sqlStat = "SELECT c.CaseNo, c.Claimant, c.Defendant, c.DOA, c.CaseType, c.CaseManager, c.Occupation, c.DateInstruction " +
"a.IPName, a.IPRegion, l.IPReference " +
"FROM tblCases AS c INNER JOIN tblIPLinks as l ON c.CaseNo = l.CaseNo " +
"JOIN tblIPAddresses AS a ON l.IPID = a.IPID;";
}
using (linkToDB)
using (var adapter = new SqlDataAdapter(sqlStat, linkToDB))
{
var table = new DataTable();
adapter.Fill(table);
dataCaseViewer.DataSource = table;
}
}
Проблема в том, что строка sqlStat в строке «using (var adapter = new SqlDataAdapter. ...)» указывает, что sqlStat «не существует в текущем контексте».
Я стремлюсь добавить много операторов IF для этого метода в зависимости от paramField и paramValues, которые ему передаются, для создания различных sqlStats для заполнения dataCaseViewer.DataSource в зависимости от ввода пользователя. Но если переменную sqlStat из операторов IF невозможно увидеть при последующем вызове в SqlDataAdapter, то я немного застрял.
Любой совет, пожалуйста.