OleDbCommand commandSec = new OleDbCommand();
commandSec.CommandText = "SELECT [SectionName], [Strand], [ReqGrade], [GradeLevel] FROM tbl_section";
OleDbDataAdapter daSec = new OleDbDataAdapter(commandSec);
commandSec.Connection = conn;
DataTable dt = new DataTable();
DataSet ds = new DataSet();
daSec.Fill(dt);
daSec.Fill(ds, "tbl_section");
var section = (from DataRow dr in dt.AsEnumerable()
where (double)dr["ReqGrade"] >= Convert.ToDouble(txt_genave.Text) &&
(string)dr["GradeLevel"] == gradelevel
select (string)dr["SectionName"]).FirstOrDefault();
我得到一個InvalidCastException: Specified cast it not valid.
LINQ to Datatable - 如何在linq查詢where子句中添加if條件?
我需要插入一個類部分到特定的生源基地對他/她GradeLevel和ReqGrade。
你的問題重現您的問題,並避免錯誤是讓一個if條件,但你的錯誤是無效的轉換? –
我想在哪裏更改reqgrade到if條件,因爲我得到了無效的cast先生。 –
無效轉換與if條件無關。您將對象轉換爲'double'或'string'。這些轉換失敗,因爲類型不同(例如,如果'ReqGrade'是一個'string'而不是'double')。但由於我們不知道數據庫中的類型,因此無法進一步提供幫助。 –