public DataTable SlcClgByYear(string str)
{
    try
    {
str = str + "%";
DataTable dt = new DataTable();
DataSet ds = new DataSet();
string sqlstr = @"SELECT collegeName FROM College WHERE collegeID LIKE 'str'";
SqlConnection conn = new SqlConnection(DAL.DALConfig.ConnectionString); SqlDataAdapter da = new SqlDataAdapter(sqlstr,conn);
da.Fill(ds); ds.Tables[0].TableName = "College"; return ds.Tables[0];
return dt;
    }
    catch(Exception exc)
    {
throw exc;
    }
}
执行后返回值为空,为什么会这样呢?

解决方案 »

  1.   

    啊~那个,第二个return忘记删掉了,请忽视它~!不好意思~
      

  2.   

    @"SELECT collegeName FROM College WHERE collegeID LIKE 'str%'";  
    少个%把
      

  3.   

    应该是
    string sqlstr = @"SELECT collegeName FROM College WHERE collegeID LIKE '"+str+"'";
      

  4.   

    楼上这个问题已经为你解答了,
    string sqlstr = @"SELECT collegeName FROM College WHERE collegeID LIKE 'str'";
    要是想你这样的话,str就不时变量了,成了一个字符串了
      

  5.   

    跟delphi差不多,直接用str就当成SQL脚本中的字符了。
      

  6.   

    非常感谢各位的帮助~,可是我照着上面AlphaGroup(AlphaGroup)说的改了以后,返回结果还是为空啊~!我用SQL查询分析器试了一下,结果也不行。但是,如果把变量部分'"+str+"'改为‘1234%’,就行了。怎么会这样呢~?还望指教~!
      

  7.   

    str = str + "%";
    DataTable dt = new DataTable();
    DataSet ds = new DataSet();
    string sqlstr = @"SELECT collegeName FROM College WHERE collegeID LIKE '";
             sqlstr += str;
             sqlstr +=@"%'";
    SqlConnection conn = new SqlConnection(DAL.DALConfig.ConnectionString);
      

  8.   

    AlphaGroup(AlphaGroup) 
    的回答少了一个%,应该为:
    string sqlstr = @"SELECT collegeName FROM College WHERE collegeID LIKE '"+str+"%'";