查询结果始终为空。 [英] Query result is always empty.
本文介绍了查询结果始终为空。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
... string search .... // 函数的参数
SqlParameter sqlp = new SqlParameter( @ searchSome ,System.Data.SqlDbType.NVarChar,search.Length);
sqlp.Value = search;
SqlCommand cmd = new SqlCommand( SELECT EngLyrics FROM dbo.Lyrics WHERE SongName LIKE'%@ searchSome%';,DBConnectInfo.connection);
cmd.Parameters.Add(sqlp);
尝试
{
使用(SqlDataReader sdr = cmd.ExecuteReader())
{
string result = String .Empty ;
while (sdr.Read())
{
result = sdr [ EngLyrics]。ToString();
返回结果;
}
返回结果;
}
}
catch (SqlException ex){ return ex的ToString(); }
finally
{
DBConnectInfo.connection.Close();
}
解决方案
'%@ searchSome%'是一个字符串,因此SQL不会尝试进行参数替换。
尝试:
SqlCommand( SELECT EngLyrics FROM dbo.Lyrics WHERE SongName LIKE'%'+ @ searchSome +'%';,DBConnectInfo.connection);
Hi there. I cannot read my data from database. The query result is empty. I following to this article: GUIDE. Also, executing queries directly in DB returns me wished results. DB is SQLSERVER 2012. What i did wrong?
...string search....//the function's argument
SqlParameter sqlp = new SqlParameter("@searchSome", System.Data.SqlDbType.NVarChar, search.Length);
sqlp.Value = search;
SqlCommand cmd = new SqlCommand("SELECT EngLyrics FROM dbo.Lyrics WHERE SongName LIKE '%@searchSome%';", DBConnectInfo.connection);
cmd.Parameters.Add(sqlp);
try
{
using (SqlDataReader sdr = cmd.ExecuteReader())
{
string result = String.Empty;
while (sdr.Read())
{
result = sdr["EngLyrics"].ToString();
return result;
}
return result;
}
}
catch (SqlException ex) { return ex.ToString(); }
finally
{
DBConnectInfo.connection.Close();
}
解决方案
'%@searchSome%' Is a string, so SQL does not try to do and parameter substitution.
Try:
SqlCommand("SELECT EngLyrics FROM dbo.Lyrics WHERE SongName LIKE '%' + @searchSome + '%';", DBConnectInfo.connection);
这篇关于查询结果始终为空。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文