在我的代碼中,我在一行中對數據庫進行了多次調用。但是,當我嘗試從數據庫中讀取整數值時,出現以下錯誤:輸入字符串的格式不正確。這是我的代碼:在MySQL查詢中輸入字符串的格式不正確
private int getNumberOfProjectsAssigned()
{
ArrayList staffProjects = new ArrayList();
int numberOfProjects = 0;
try
{
string strConnection = ConfigurationSettings.AppSettings["ConnectionString"];
MySqlConnection connection = new MySqlConnection(strConnection);
MySqlCommand command = connection.CreateCommand();
command.CommandText = "SELECT id_project_pk FROM `test`.`staff_on_project` WHERE id_staff_pk = " + Convert.ToInt32(Session["CurrentUserID"]);
//SELECT idusers, first_name, last_name, job_title, code_quality, time_bonus,analysis_of_requirements FROM `test`.`users` WHERE security_level > 1;
connection.Open();
MySqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
int projectId = Convert.ToInt32(reader["id_project_pk"].ToString());
staffProjects.Add(projectId);
}
connection.Close();
foreach (int i in staffProjects)
{
command.CommandText = "SELECT still_active FROM `test`.`projects` WHERE idprojects = " + i;
//SELECT idusers, first_name, last_name, job_title, code_quality, time_bonus,analysis_of_requirements FROM `test`.`users` WHERE security_level > 1;
connection.Open();
reader = command.ExecuteReader();
while (reader.Read())
{
int projectId = Convert.ToInt32(reader["still_active"].ToString()); // Error Occurs Here
if(projectId == 1)
{
projectsStaffWorksOn.Add(projectId);
}
numberOfProjects = projectsStaffWorksOn.Count;
}
connection.Close();
}
}
catch { }
return numberOfProjects;
}
它會在我在代碼中標記的位置引發錯誤。任何幫助將非常感激!
調試,看看有什麼價值'reader [「still_active」]' – 2011-06-01 09:20:15
我應該提到still_active不爲null並且是TINYINT(1) – GreeneScreen 2011-06-01 09:21:33
無論如何**不要**使用非泛型ArrayList! – abatishchev 2011-06-01 09:28:55