public void Button1_Click(object sender, EventArgs e)
{
String a = DropDownList1.SelectedItem.Value;
String b = DropDownList3.SelectedItem.Value.PadLeft(3, '0');
String c = TextBox1.Text.PadLeft(5, '0').ToString();
String d = TextBox2.Text.ToString();
String digit = a + b + c + d;
try
{
OdbcConnection casetype = new OdbcConnection("Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=testcase;User=root;Password=root;Option=3;");
casetype.Open();
//************to get case type
string casetypequery = "select casename from casetype where skey=?";
//************to get case type
OdbcCommand casetypecmd = new OdbcCommand(casetypequery, casetype);
String casetypefromdropdown = DropDownList3.SelectedItem.ToString();
casetypecmd.Parameters.AddWithValue("?", casetypefromdropdown);
using (OdbcDataReader casetypeMyReader = casetypecmd.ExecuteReader())
{
while (casetypeMyReader.Read())
{
String casename = casetypeMyReader["casename"].ToString();
}
}
}
catch (Exception ewa)
{
Response.Write(ewa);
}
我无法访问
String casename = casetypeMyReader["casename"].ToString();
在我上面的代码中是while循环内部。 我该如何访问
'casename'
外面循环?我想用它来把内容放在HtmlEditor(ajax)中
答案 0 :(得分:1)
如果要访问循环外部的变量,则需要在外部声明:
string casename = "some default value";
while (casetypeMyReader.Read())
{
casename = casetypeMyReader["casename"].ToString();
}
// You can access casename here and it's value will either be the default one
// if the reader returned no rows or the last row being read.
答案 1 :(得分:1)
您可以在循环外声明一个数组或字符串列表,并将casename值保存在其中。
List<string> caseNames = new List<string>();
while (casetypeMyReader.Read())
{
caseNames.Add(casetypeMyReader["casename"].ToString());
}
现在他们都在数组中,您可以随时随地访问它。
如果存在重复项,并且您需要唯一值,则可以在之后执行caseNames.Distinct().ToList()
。