如何将数据库的“问题”列分配给变量,以便我可以将其分配给label3和label4。请,这里的任何人都可以帮我解决这个问题,因为我要做的是为我的数据库中存储的两个答案分配一个问题。我已经选择了select命令中所述的答案,但我如何为标签3和标签4的答案分配问题。感谢帮助。所以,远程代码工作没有错误,但我想要提到帮助。感谢帮助。 如图所示,我有列Security1和Security2。基本上,我想将它分配给Label3.Text = Security1等标签; Label4.Text = Security2; 图像
答案 0 :(得分:0)
您应该if
阻止如下。
if (reader != null && reader.HasRows)
{
Label3.Text = reader.GetString("Security1");
Label4.Text = reader.GetString("Security2");
newpass.Visible = true;
confpass.Visible = true;
Label1.Text = "New Password";
Label2.Text = "Confirm New Password";
SqlConnection cons = new SqlConnection(ConfigurationManager.ConnectionStrings["conn"].ConnectionString);
cons.Open();
SqlCommand updates = new SqlCommand("update reg set Password='" + confpass.Text + "'", cons);
SqlDataAdapter da = new SqlDataAdapter(updates);
DataSet ds = new DataSet();
da.Fill(ds);
con.Close();
cons.Close();
//ClientScript.RegisterStartupScript(Page.GetType(), "validation", "<script language='javascript'>alert('Your password has been changed')</script>");
// Response.Redirect("Default.aspx");
}
此解决方案特定于您的问题。我看到代码可以改进很多,但取决于您的业务逻辑和要求。
答案 1 :(得分:0)
将你的方法分成两部分:
首先,询问用户的姓名。当他输入他的名字并点击一个按钮时,从数据库中获取相应的安全问题并将其分配给标签,例如Label3.Text = reader("Security1").ToString()
第二次,让用户输入答案并使用现有代码对其进行测试。
答案 2 :(得分:0)
我发现你正在使用WebForms,首先你需要了解它是如何工作的:
第一个案例通知 - WebForms不喜欢一个页面上的2个表单,您必须将答案分开并通过ID获取它们,然后在第二个按钮上添加onClick事件来处理数据的实际更新的
然后您将通过Request.Form['username']
获取它,其中用户名是您表单中定义的键。
获取后,使用给定的用户名执行阅读器,然后通过reader.GetString("Security1")
在数据库中显示问题,现在您可以获取输入并将其传递给更新按钮的onClick侦听器 (另一种方式,如果您选择了选项no 2 - onsubmit事件表格)。
所以你的HTML看起来应该是这样的:
<form runat="server">
<input type="text" name="username" />
<asp:Button PostBackUrl="~/postbackurl.aspx" runat="server" Text="Submit" />
</form>
你的CodeBehind:
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
// Fetching code here
// ...
cmd.Parameters.AddWithValue("@username", Request.Form["username"]);
// ...
Label3.Text = reader.GetString("Security1");
}
}