ケースステートメントを使用して、「クエリ」という名前の変数に値を割り当てようとしています。コンボボックスの値によってクエリの値が変わります。メソッド内で「クエリ」変数を割り当てましたが、メソッド内でのみ使用したいと考えています。メソッドの先頭で割り当てられているにもかかわらず、「クエリ」変数が割り当てられていないというエラー メッセージが表示されます。回避策がありますが、なぜこれが起こるのかわかりませんか? どんな洞察も役に立ちます。
コードはこちらです。
public void ExportKml()
{
string query;
switch (txtTable.SelectedIndex)
{
case 0:
query = "Select * from dbo.HyacinthWaterBodyZones";
break;
case 1:
query="Select * from lchcd.privateWatersFinal where waterbodypolygon is not null";
break;
case 2:
query = "Select * from lchcd.publicWatersFinal where waterbodypolygon is not null";
break;
}
cs.Open();
SqlCommand cmd = new SqlCommand(query, cs); <<--Error Message
SqlDataReader polygon = cmd.ExecuteReader();
}
行内の「クエリ」変数: SqlCommand cmd = new SqlComman(query,cs) は、割り当てられていないローカル変数であることを示すエラーを返します。