對象不能從DBNull轉換爲其他類型。C#對象不能從DBNull轉換爲其他類型
我有一個以下函數拋出上述錯誤。我正在處理我的數據庫和C#代碼中的所有空值。 那麼它在哪裏得到這個錯誤?
我可以看到catch塊中的錯誤。但我不明白哪一行在下面的create()獲取錯誤。
private void btnsearch_Click(object sender, EventArgs e)
{
try
{
dt.Rows.Clear();
SqlConnection CN = new SqlConnection(mysql.CON.ConnectionString);
SqlDataAdapter sda = new SqlDataAdapter("select EMP_EMPLOYEES.NAME,EMP_EMPLOYEES.JOBNAME,EMP_EMPLOYEES.FIA,EMP_EMPLOYEES.DRAGA,EMP_EMPLOYEES.SALARY ,EMP_HASM_DET.GZA,EMP_EMPLOYEES.NAQLBADAL,EMP_EMPLOYEES.JOBBADALAT ,BLADIAINFO.MA3ESHA ,EMP_EMPLOYEES.DISSENT ,EMP_EMPLOYEES.SANDOK as'الصندوق' from BLADIAINFO ,EMP_EMPLOYEES left join EMP_HASM_DET on EMP_HASM_DET.EMPID = EMP_EMPLOYEES.ID left join EMP_MOKHALFAT_DET on EMP_MOKHALFAT_DET.EMPID = EMP_EMPLOYEES.ID left join EMP_MOKHALFAT on EMP_MOKHALFAT.ID=EMP_MOKHALFAT_DET.MOKHALFAID left join EMP_HASMIAT on EMP_HASMIAT.ID=EMP_HASM_DET.HASMID and EMP_EMPLOYEES.EMPTYPE = '" + cmbEMPTYPE.SelectedItem.ToString() + "' ", CN);
sda.Fill(dt);
}
////////////
dt.Columns.Add("Actual_salary", typeof(string));
foreach (DataRow dr in dt.Rows)
{
int GZA = dr["GZA"] == null ? 0 : Convert.ToInt32(dr["GZA"]);
dr["Actual_salary"] = Convert.ToInt32(dr["SALARY"]) - ((Convert.ToInt32(dr["SALARY"])/30) * GZA);
}
dataGridViewX1.DataSource = dt;
嘗試'INT GZA =博士[ 「GZA」] == DBNull.Value.Equals(DR [ 「GZA」])? 0:Convert.ToInt32(dr [「GZA」]);' – Tim