当前位置: 代码迷 >> C# >> asp.net中AccessDataSource.SelectCommand步骤获取不了字符串
  详细解决方案

asp.net中AccessDataSource.SelectCommand步骤获取不了字符串

热度:121   发布时间:2016-05-05 04:41:21.0
asp.net中AccessDataSource.SelectCommand方法获取不了字符串?
我如果是这样的话就可以:
string id = Request.Cookies["id"].Value;
        //access 数据源控件的SelectCommand的后台绑定.
        AccessDataSrc.SelectCommand = "select * from [t_man] where [id][email protected]";
        AccessDataSrc.SelectParameters.Clear(); //清除可能已有选择参数.
        AccessDataSrc.SelectParameters.Add("id", TypeCode.Int32, id);
        AccessDataSrc.DataBind();

这是数字类型的,没有问题.
但是对于字符串类型怎么不行:
string name = txtName.Text.Trim();
        AccessDataSrc.SelectCommand = "select * from [t_man] where [name] like [email protected]%'";
        AccessDataSrc.SelectParameters.Clear(); //清除可能已有选择参数.
        AccessDataSrc.SelectParameters.Add("@name", TypeCode.String, name);
        AccessDataSrc.DataBind();


而当我不使用添加参数的方法,又行:
string name = txtName.Text.Trim();
        AccessDataSrc.SelectCommand = "select * from [t_man] where [name] like '%" +name + "%'";
        AccessDataSrc.SelectParameters.Clear(); //清除可能已有选择参数.
        AccessDataSrc.SelectParameters.Add("@name", TypeCode.String, name);
        AccessDataSrc.DataBind();


难道我的sql语句不对?
asp.net没有提示什么.
但是添加方式的方法,又不能查看整个sql语句的结果,怎么办?
------解决思路----------------------
不用加单引号,select * from [t_man] where [name] like @name