Ik ben bezig met een webapplicatie in APS.Net in C#. Ik heb een formulier gemaakt om geavanceerd te zoeken in een tabel. Maar bij het uitvoeren van de code krijg ik steeds een error dat de syntax van mijn sql statement fout is... Ik heb dezelfde syntax al uitgeprobeerd rechtstreeks in een query en dan lukt het wel. Hieronder staat de code van de methode waar de fout gegeven wordt. Kan iemand me zeggen waar ik fout zit, want ik ben al lang aanhet zoeken en vindt het niet .....
public List<Media> GetMedias2(string invM,string titelM, string taalM, string jaarM,string typeM, string keywordsM, string standplaatsM, string sortExpression)
{
using (SqlConnection oConn = new SqlConnection(_connectionString))
{
string strSql = "select * FROM Media";
if (!String.IsNullOrEmpty(invM)) strSql += " where (inventaris_nr like @invM) and";
if (!String.IsNullOrEmpty(titelM)) strSql += " (titel like @titelM) and";
if (!String.IsNullOrEmpty(taalM)) strSql += " (taal like @taalM) and";
if (!String.IsNullOrEmpty(jaarM)) strSql += " (jaartal like @jaarM) and";
if (!String.IsNullOrEmpty(typeM)) strSql += " (typeMedia like @typeM) and";
if (!String.IsNullOrEmpty(keywordsM)) strSql += " (keywords like @keywordsM) and";
if (!String.IsNullOrEmpty(standplaatsM)) strSql += " (standplaats like @standplaatsM)";
if (!String.IsNullOrEmpty(sortExpression))
strSql += " order by " + sortExpression;
else
strSql += " order by id";
SqlCommand oCmd = new SqlCommand(strSql, oConn);
oCmd.Parameters.Add(new SqlParameter("@invM", "%"+invM+"%"));
oCmd.Parameters.Add(new SqlParameter("@titelM", "%"+titelM+"%"));
oCmd.Parameters.Add(new SqlParameter("@taalM", "%"+taalM+"%"));
oCmd.Parameters.Add(new SqlParameter("@jaarM", "%"+jaarM+"%"));
oCmd.Parameters.Add(new SqlParameter("@typeM", "%"+typeM+"%"));
oCmd.Parameters.Add(new SqlParameter("@keywordsM", "%"+keywordsM+"%"));
oCmd.Parameters.Add(new SqlParameter("@standplaatsM", "%"+standplaatsM+"%"));
oConn.Open();
SqlDataReader oReader = oCmd.ExecuteReader();
List<Media> medias= GetMediaCollectionFromReader(oReader);
oReader.Close();
return medias;
}
}
public List<Media> GetMedias2(string invM,string titelM, string taalM, string jaarM,string typeM, string keywordsM, string standplaatsM, string sortExpression)
{
using (SqlConnection oConn = new SqlConnection(_connectionString))
{
string strSql = "select * FROM Media";
if (!String.IsNullOrEmpty(invM)) strSql += " where (inventaris_nr like @invM) and";
if (!String.IsNullOrEmpty(titelM)) strSql += " (titel like @titelM) and";
if (!String.IsNullOrEmpty(taalM)) strSql += " (taal like @taalM) and";
if (!String.IsNullOrEmpty(jaarM)) strSql += " (jaartal like @jaarM) and";
if (!String.IsNullOrEmpty(typeM)) strSql += " (typeMedia like @typeM) and";
if (!String.IsNullOrEmpty(keywordsM)) strSql += " (keywords like @keywordsM) and";
if (!String.IsNullOrEmpty(standplaatsM)) strSql += " (standplaats like @standplaatsM)";
if (!String.IsNullOrEmpty(sortExpression))
strSql += " order by " + sortExpression;
else
strSql += " order by id";
SqlCommand oCmd = new SqlCommand(strSql, oConn);
oCmd.Parameters.Add(new SqlParameter("@invM", "%"+invM+"%"));
oCmd.Parameters.Add(new SqlParameter("@titelM", "%"+titelM+"%"));
oCmd.Parameters.Add(new SqlParameter("@taalM", "%"+taalM+"%"));
oCmd.Parameters.Add(new SqlParameter("@jaarM", "%"+jaarM+"%"));
oCmd.Parameters.Add(new SqlParameter("@typeM", "%"+typeM+"%"));
oCmd.Parameters.Add(new SqlParameter("@keywordsM", "%"+keywordsM+"%"));
oCmd.Parameters.Add(new SqlParameter("@standplaatsM", "%"+standplaatsM+"%"));
oConn.Open();
SqlDataReader oReader = oCmd.ExecuteReader();
List<Media> medias= GetMediaCollectionFromReader(oReader);
oReader.Close();
return medias;
}
}