我有这样的代码
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
string strConnectionString = ConfigurationManager.ConnectionStrings["SqlServerCstr"].ConnectionString;
SqlConnection myConnection = new SqlConnection(strConnectionString);
myConnection.Open();
string musisim = DropDownList1.SelectedItem.Value;
SqlCommand cmd = new SqlCommand("select B.HESAP_NO FROM YAZ..MARDATA.S_TEKLIF B WHERE B.MUS_K_ISIM = DropDownList1.SelectedItem.Value", myConnection);
Label1.Text = cmd.ExecuteReader().ToString();
myConnection.Close();
我的客户名为“MUS_K_ISIM”,号码为“HESAP_NO”
我想要的是,(自动回发为真)自动获得标签“HESAP_NO”以及下拉列表中具有此号码“MUS_K_ISIM”的人。
我怎样才能做到这一点?
错误: 说明:当前 Web 请求执行期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中的来源的更多信息。
最佳答案
您的数据库对您的 ASP 页面或其中的控件一无所知;-) 因此您需要重新编写 SQL 语句 - 作为第一个修订版,您可以这样更改它:
SqlCommand cmd = new SqlCommand("select B.HESAP_NO FROM YAZ..MARDATA.S_TEKLIF B WHERE B.MUS_K_ISIM = '" + DropDownList1.SelectedItem.Value + "'", myConnection);
以便在下拉列表中选择的名称将添加到 SQL 查询中。
展望 future ,最好使用 Parameterized Query 来做这种事情。或 Stored procedure .
HTH。
关于c# - 数据库到 DropDownList 和 AutoPostBack 到标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4791860/