当前位置: 代码迷 >> J# >> 一个C#模糊查询有关问题
  详细解决方案

一个C#模糊查询有关问题

热度:2167   发布时间:2013-02-25 00:00:00.0
一个C#模糊查询问题
private void button1_Click(object sender, EventArgs e)
        {
           string constring = "server=.;database=bankDB;uid=sa;pwd=123";
            SqlConnection con = new SqlConnection(constring);
            con.Open();
            string sql = "select * from UserInfo where customerName like @name";
            SqlCommand cmd=new SqlCommand(sql,con);
            SqlParameter p = new SqlParameter("@name", SqlDbType.Char, 8);
            p.Value = "%"+this.textBox1.Text + "%";
            cmd.Parameters.Add(p);
            SqlDataReader dr = cmd.ExecuteReader();
            if (dr.Read())
            {
                MessageBox.Show(dr[0].ToString());
            }
            else
            {
                MessageBox.Show("没有信息");
            }
        }

       //我数据库里有一条记录的customerName为“deng”,但当我this.textBox1.Text的值为“d”时,得到的结果
为 MessageBox.Show("没有信息");

                其各位大虾们解决下

       


------解决方案--------------------------------------------------------
 p.Value   =   "'% "+this.textBox1.Text   +   "%' "; 
------解决方案--------------------------------------------------------
楼上正解
------解决方案--------------------------------------------------------
这样有问题,加上引号就把引号也当作参数得一部分了
------解决方案--------------------------------------------------------
联合调试一下数据库

看看你的程序给数据库传递什么命令

你就知道什么地方错了

启动Sqlserver的性能调试器
------解决方案--------------------------------------------------------
错误 2 找不到类型或命名空间名称“SqlConnection”(是否缺少 using 指令或程序集引用?) C:\Documents and Settings\user\My Documents\Visual Studio 2008\WebSites\WebSite9\Default2.aspx.cs 22 25 C:\...\WebSite9\
  相关解决方案