string sql ="select * from Card where id like @ParID";
//string sql ="select * from Card where id like @ParID'%'";
SqlParameter[] parms;
parms = new SqlParameter[]{    
  new SqlParameter("@ParID", SqlDbType.NChar,256),
};
//parms[0].Value ="Test" + "%";
ds = SQLHelper.ExecuteDataset(PoewangSQLHelper.ConnectionString,CommandType.Text,sql,parms); // 这里肯定没问题,string sql ="select * from Card where id = @ParID"; 时候测试通过的.
vs2003 + sql2000  
疑问: 如何用SqlParameter来做. 
如果用 "select * from Card where id like '" + tempStr +"%'" 的方式也可以解决,但用SqlParameter怎么来做?抛砖引玉,快砸醒我吧.

解决方案 »

  1.   

    string sql ="select * from Card where id like @ParID";
    //string sql ="select * from Card where id like @ParID'%'";
    string value="";
    SqlParameter[] parms;
    parms = new SqlParameter[]{                           
      new SqlParameter("@ParID", SqlDbType.NChar,256),
                        };
                        parms[0].Value ="'%"+value+"%'";
                        ds = SQLHelper.ExecuteDataset(PoewangSQLHelper.ConnectionString,CommandType.Text,sql,parms); 
    // 这里肯定没问题,string sql ="select * from Card where id = @ParID"; 时候测试通过的.
      

  2.   

    eg:declare @t varchar(20)
    set @t='fun_'select * from sysobjects
    where [name] like ''+@t+'%'
      

  3.   

    To zhoufoxcn 
    周公
    ---------------------------
    string sql ="select * from Card where id like @ParID"; 
    parms[0].Value ="'%"+value+"%'"; 刚测试,发现不行...
    谢谢你
    TO conan304 
    没有谁会是谁的谁
    --------------------------------
    数据库俺不管,已经有了
    我是在代码里如何把数据取出来
    我想用SqlParameter 把参数带进去谢谢
      

  4.   

    deviceId = "'%" + deviceId + "%'";
                    string sql = "select * from DM_Device d where d.id LIKE " + deviceId + " and orgid=@orgId and not exists( " +
                                "select * from DM_User_Device u where u.deviceid=d.id and u.userid=@userId)";
                    SqlParameter[] parm = new SqlParameter[]{
                        new SqlParameter("@userId",SqlDbType.Int),
                        new SqlParameter("@orgId",SqlDbType.Int)
                    };
                    parm[0].Value = userId;
                    parm[1].Value = orgId;like的话还是不要用SqlParameter了吧
      

  5.   

    兄弟我最近建了一个ASP.NET学习,交流群[ 64989019 ],欢迎志同道合的朋友加入,一块学习,一起探讨,共同进步,成就人生!!
      

  6.   

    http://www.cnblogs.com/xiaozhuoyun/archive/2008/01/24/1051313.html
      

  7.   

    string sqlStr = "select * from Card where id like + '%' + @ParID + '%'"
      

  8.   

    string sql ="select * from Card where id like @ParID";
    SqlParameter[] parms;
    parms = new SqlParameter[]{new SqlParameter("@ParID", SqlDbType.NChar,256)};
    parms[0].Value ="%"+value+"%";
    ds = SQLHelper.ExecuteDataset(PoewangSQLHelper.ConnectionString,CommandType.Text,sql,parms); 
      

  9.   


    string sql ="EXEC(@p)";
    parms = new SqlParameter[]{new SqlParameter("@ParID", SqlDbType.NChar,256)}; 
    parms[0].Value ="select * from Card where id like %"+strContent+"%"; 
      

  10.   


    分都给你
     ericzhangbo1982111 
    Kamui(湿他就湿他)
    ---------------上面很多都是google我找过的,一一试过没有答案或者是有答案的确没有效果,不知道是不是环境或者其他的什么问题.
    总之.建议后来人放弃SqlParameter来做模糊查询.
      

  11.   

    把SqlDbType.NChar换成.NVarChar 即可 需要可变字符流 然后like @param+'%'
      

  12.   

    string sql ="select * from Card where id like @ParID"; 
    parms[0].Value ="%"+value+"%";把SqlDbType.NChar换成.NVarChar 需要可变字符流 然后like