私はまだASP.Net C#に非常に慣れていません。このコードは正常に動作します。web.config ファイルに複数の接続文字列があり、ドロップダウン リストのテキストに基づいてそれらを切り替えます。以下にあるもの(ある場合)ではなく、これをアーカイブするためのよりきちんとした/よりクリーンな方法のアドバイスを期待していました。ありがとう!
protected void search_ClickALL(object sender, EventArgs e)
{
if (ddlALL.SelectedItem.Text == "ENWL")
{
using (
SqlConnection conn =
new SqlConnection(ConfigurationManager.ConnectionStrings["ConHprENWL"].ConnectionString))
{
conn.Open();
SqlCommand cmd = new SqlCommand("SELECT dpCreatedDT, enStatusCH, enNotificationNoNI FROM dp_enquiry WHERE ennotificationnoni = @JobnoALL", conn);
try
{
SqlParameter search = new SqlParameter();
search.ParameterName = "@JobnoALL";
search.Value = JobnoALL.Text.Trim();
cmd.Parameters.Add(search);
SqlDataReader dr = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(dr);
gridviewALL.DataSource = dt;
gridviewALL.DataBind();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
finally
{
if (cmd.ExecuteScalar() == null)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "scriptkey", "<script>alert('Job Number not found!');</script>");
}
conn.Close();
mpePopUpALL.Show();
}
}
}
else if (ddlALL.SelectedItem.Text == "NW")
{
using (
SqlConnection conn =
new SqlConnection(ConfigurationManager.ConnectionStrings["ConHprNorthumbrian"].ConnectionString))
{
conn.Open();
SqlCommand cmd = new SqlCommand("SELECT dpCreatedDT, enStatusCH, enNotificationNoNI FROM dp_enquiry WHERE ennotificationnoni = @JobnoALL", conn);
try
{
SqlParameter search = new SqlParameter();
search.ParameterName = "@JobnoALL";
search.Value = JobnoALL.Text.Trim();
cmd.Parameters.Add(search);
SqlDataReader dr = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(dr);
gridviewALL.DataSource = dt;
gridviewALL.DataBind();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
finally
{
if (cmd.ExecuteScalar() == null)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "scriptkey", "<script>alert('Job Number not found!');</script>");
}
conn.Close();
mpePopUpALL.Show();
}
}
}
}