我有一个DropDownList,当窗体第一次打开时,它选择在数据库中找到的第一个条目。我想要它做的是显示“选择”。但我不希望“选择”消息对我的数据库持有任何价值(我不希望系统认为这是编辑到数据库的选项)。DropDownList,列表项然后从数据库popullated
我想要的那一刻是:
dropdownList.DataBind();
dropdownList.Items.Insert(0, new ListItem("Select"));
这个解决方案保存设置“选择”进入它没有TXT /数据字段:
<asp:DropDownList ID="DropDownListEmployee" runat="server"
AutoPostBack="True"
OnSelectedIndexChanged="SelectionHasChanged"
DataSourceID="SqlDataSource1" DataTextField="Fullname"
DataValueField="Employee_ID" Width="214px">
<asp:ListItem>Select</asp:ListItem>
我已经尝试使用属于,在尝试更新,插入或从数据库中删除时引发问题。
另外,如何编辑我的帖子以便显示代码?
================代码文件================背后
namespace MyProject.Update
{
public partial class UpdateEmployee : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void SelectionHasChanged(Object sender, System.EventArgs e)
{
string connectionString = WebConfigurationManager.ConnectionStrings["DBConnectionString1"].ConnectionString;
SqlConnection con = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand("Retreive", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@ID", SqlDbType.Int, 7));
cmd.Parameters["@ID"].Value = Convert.ToInt32(DropDownListEmployee.SelectedValue.ToString());
try
{
con.Open();
SqlDataReader reader = cmd.ExecuteReader();
if (reader.Read())
{
txt1.Text = (string)reader["1"];
txt2.Text = (string)reader["2"];
txt3.Text = (string)reader["3"];
txt4.Text = (string)reader["4"];
txt5.Text = (string)reader["5"];
txt6.Text = (string)reader["6"];
txt7.Text = (string)reader["7"];
txt8.Text = DropDownListEmployee.SelectedValue.ToString();
}
reader.Close();
}
catch (SqlException err)
{
// Replace the error with something less specific.
// You could also log the error now.
throw new ApplicationException("Data error.");
}
finally
{
con.Close();
}
}
protected void UpdateEmployeeBTN_Click(object sender, EventArgs e)
{
string connectionString = WebConfigurationManager.ConnectionStrings["DBConnectionString1"].ConnectionString;
SqlConnection con = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand("Change", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@ID", SqlDbType.Int, 7));
cmd.Parameters["@ID"].Value = Convert.ToInt32(DropDownListEmployee.SelectedValue.ToString());
cmd.Parameters.Add(new SqlParameter("@1", SqlDbType.VarChar, 20));
cmd.Parameters["@1"].Value = txt1.Text;
cmd.Parameters.Add(new SqlParameter("@2", SqlDbType.VarChar, 20));
cmd.Parameters["@2"].Value = txt2.Text;
cmd.Parameters.Add(new SqlParameter("@3", SqlDbType.VarChar, 100));
cmd.Parameters["@3"].Value = txt3_Address.Text;
cmd.Parameters.Add(new SqlParameter("@4", SqlDbType.VarChar, 100));
cmd.Parameters["@4"].Value = txt4.Text;
cmd.Parameters.Add(new SqlParameter("@5", SqlDbType.Char, 12));
cmd.Parameters["@5"].Value = txt5.Text;
cmd.Parameters.Add(new SqlParameter("@6", SqlDbType.Char, 12));
cmd.Parameters["@6"].Value = txt6.Text;
cmd.Parameters.Add(new SqlParameter("@7", SqlDbType.VarChar, 50));
cmd.Parameters["@7"].Value = txt7.Text;
try
{
con.Open();
cmd.ExecuteNonQuery();
txtID.Text = Convert.ToString(cmd.Parameters["@ID"].Value);
}
catch (SqlException err)
{
// Replace the error with something less specific.
// You could also log the error now.
throw new ApplicationException("Data error.");
}
finally
{
con.Close();
}
}
我一般缩进我的代码4个空格(或更多),以获得格式。 – Tim
该代码严重损坏 – David