首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

关于SQL查找语句的有关问题

2013-03-01 
关于SQL查找语句的问题在文本框中输入,从数据库表中查找输入的内容。当输入数字串时,没有问题;但是,输入字

关于SQL查找语句的问题
在文本框中输入,从数据库表中查找输入的内容。当输入数字串时,没有问题;但是,输入字母时,就会有问题,错误如附图。下面是代码: 
protected void Button1_Click(object sender, EventArgs e)
    {

        if (TextBox1.Text == "")
        {
            Response.Write("<script language=javascript >alert('请输入订单号!');window.navigate('./GM.aspx');</Script>");
            Response.End();
        }

        else
        {
            SqlConnection sqlcon = new SqlConnection(ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString);
            sqlcon.Open();
            string tex2 = string.Format("SELECT COUNT(*) FROM GPSinfo WHERE huowuID={0}", TextBox1.Text.Trim());
            SqlCommand myComand = new SqlCommand(tex2, sqlcon);
            int count = (int)myComand.ExecuteScalar();
            if (count <= 0)
            {
                Response.Write("<script language=javascript >alert('订单号有误!');window.navigate('./GM.aspx');</Script>");
                Response.End();
            }
            else
            {
                Response.Redirect("GM.aspx");
            }
        }
    }
sql textbox
[解决办法]
字符串要加引号,你这个又不是int型,不加引号当然会报错
[解决办法]
   string tex2 = string.Format("SELECT COUNT(*) FROM GPSinfo WHERE huowuID=‘{0}’", TextBox1.Text.Trim());
[解决办法]
与数据类型不一样。

我估计你数据库huowuID的是int。所以TextBox1只能输入数字
[解决办法]
你把语句复制下来,到查询分析器中执行一下就知道问题出在哪里呢
[解决办法]
这种问题最好的办法就是将调试的SQL语句在Sql中执行一下,就知道问题出在哪了
[解决办法]
这还要执行吗,他贴出来的图就看到错误了
[解决办法]
有几种方法可以处理
1\在提交的时候做判断,设置只允许提交数字类型字符
2\WHERE huowuID='{0}'", 但这个不安全,容易被SQL注入,还是得过滤,而且字段类型需要为字符型


3\WHERE huowuID=@huowuID,比较推荐这个
SqlParameter[] param=new SqlParameter[1]
param[0]=new SqlParameter("@huowuID",TextBox1.Text.Trim());
....
[解决办法]
 page.ClientScript.RegisterStartupScript(page.GetType(), "", "<Script>alert('订单号有误!') + "")</Script>");
[解决办法]

引用:
字符串要加引号,你这个又不是int型,不加引号当然会报错

+1
[解决办法]
 Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('信息添加失败!');</script>");
[解决办法]
Response.End();因为你这个结束了,所以不报错

热点排行