weixin_37168323 2016-12-26 05:42 采纳率: 0%
浏览 817
已结题

asp.net初学者小白问题:查询数据库

初学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的小白请各位高手赐教,感谢感谢!

  • 写回答

4条回答

  • 明仔丶 2016-12-26 06:36
    关注

    string str = "SELECT detailtalk FROM expert_viewpoint_detail WHERE name = '" + a + "'";
    你仔细想想C#转义 局部变量怎么弄!你这是JS写法 呵呵
    string str =string.Format( "SELECT detailtalk FROM expert_viewpoint_detail WHERE name = {0}",a);
    基础一定要扎实,你之所以这个位子出错是因为你把基础忘记了,抽空把基础在学习一遍相信你一定学的更好。

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器