2016-07-08 2 views
0

Я хочу, чтобы выполнить запрос SELECT, но он бросает исключение:C# прибудет результат Выберите с помощью DataAdapter и Dataset

отображения не существует от типа объекта System.Web.UI.HtmlControls.HtmlSelect к известному под управлением уроженцем поставщика тип.

это мой код:

 DateTime start = new DateTime(startY, startM, startD); 
     //string s = start.ToString(); 
     DateTime end = new DateTime(endY, endM, endD); 
     string title = title_key.Value; 
     string cat = sCategory.Value; 

     var sqlcon = new SqlConnection("Data Source=maryam-pc;Initial Catalog=news_portal1;Integrated Security=True;"); 
     sqlcon.Open(); 

     SqlCommand sqlcom = new SqlCommand(); 
     sqlcom.Connection = sqlcon; 
     // SqlCommandBuilder sc = new SqlCommandBuilder(); 
     //sc. 

     sqlcom.CommandText = "select title,text,category,datetime from news where category= @cat and title = @ttl "; 
     // sqlcom.CommandText = "select pk,title,text,category,datetime from news "; 
     sqlcom.Parameters.AddWithValue("@ttl", title); 
     sqlcom.Parameters.AddWithValue("@cat", sCategory); 
     sqlcom.Parameters.AddWithValue("@start", start.ToString()); 
     sqlcom.Parameters.AddWithValue("@end", end.ToString()); 
     // sqlcom.Parameters.AddWithValue("@ttl", title); 
     DataSet ds = new DataSet(); 
     SqlDataAdapter da = new SqlDataAdapter(); 
     da.SelectCommand = sqlcom; 
     //GridView GridView1 = new GridView(); 
     da.Fill(ds); 
     if (ds != null) 
     { 
      if (ds.Tables[0].Rows.Count != 0) 
      { 
       System.Diagnostics.Debug.WriteLine("not empty"); 
       SearchResults.DataSource = ds; 
       SearchResults.DataBind(); 
      } 
      else 
      { 
       System.Diagnostics.Debug.WriteLine("empty"); 
       SearchResults.DataSource = null; 
       SearchResults.DataBind(); 
      } 
     } 



    } 

название, категория являются VARCHAR() и даты DateTime.

ответ

1

Используйте значение избранных вместо себя выбрать:

sqlcom.Parameters.AddWithValue("@cat", sCategory.Value); 

Или использовать переменную, объявленную и инициализирована ранее в коде:

sqlcom.Parameters.AddWithValue("@cat", cat); 
+0

Спасибо и так много :) , это сработало – Mahbube