初学asp.net,很多地方有疑问,想请各位牛人帮个忙,谢谢了:
我的前台代码为:
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text=" "></asp:Label><p>
<asp:Label ID="Label2" runat="server" Text=" "></asp:Label><p>
<asp:Label ID="Label3" runat="server" Text=" "></asp:Label>
</div>
</form>
</body>
后台代码为:
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(ConString);
con.Open();
string a = Request.QueryString["name"];
Label1.Text = a;
Label2.Text = a.GetType().ToString();
string str = "SELECT detailtalk FROM expert_viewpoint_detail WHERE name = '" + a + "'";
SqlCommand cmd = new SqlCommand(str,con);
SqlDataReader dr = cmd.ExecuteReader();
if(dr.Read())
{
Label3.Text = dr[0].ToString();
}
else
{
Label3.Text = "False";
}
con.Close();
}
结果网页显示:
expert1
System.String
False
我是想根据传递过来的a值查询到相关的数据并显示出来,这样的结果肯定有问题。
而把后台的 string str = "SELECT detailtalk FROM expert_viewpoint_detail WHERE name = '" + a + "'"; 改成 string str = "SELECT detailtalk FROM expert_viewpoint_detail WHERE name = '" + "expert1" + "'";
则结果网页显示为:
expert1
System.String
ok
这才是想要的结果
为什么会发生这样的问题?
初学ASP.NET的小白请各位高手赐教,感谢感谢!