2014-03-27 66 views
0
foreach (object selectedItem in lstProjectMemberID.SelectedItems) 
{ 
    DataRowView dr = (DataRowView)selectedItem; 
    String result = dr["user_id"].ToString(); 
    int intResult = int.Parse(result); 

    cmd.CommandText = "INSERT INTO project_users(project_id,user_id) VALUES (@newProjID.Text,@userID)"; 
    cmd.Parameters.Add(newProjID.Text, OleDbType.Integer).Value = newProjID.Text; 
    cmd.Parameters.AddWithValue("@userID", intResult); 

    cmd.ExecuteNonQuery(); 

} 

我有這個代碼,並且我得到了錯誤標準表達式中的錯誤數據類型不匹配。在這部分cmd.ExecuteNonQuery(); ?:(我該怎麼辦oledb異常在c#中未處理標準表達式中的數據類型不匹配

我覺得因爲intresult

回答

1

這看起來奇怪,參數名稱更改從@newProjID.Text@newProjID的我錯了,我的插入查詢命令:

cmd.CommandText = "INSERT INTO project_users(project_id,user_id) VALUES (@newProjID,@userID)"; 
cmd.Parameters.Add("@newProjID", OleDbType.Integer).Value = newProjID.Text; 

但如果newProjID.Text是一個字符串,則應首先將其解析爲一個int

cmd.Parameters.Add("@newProjID", OleDbType.Integer).Value = int.Parse(newProjID.Text); 
相關問題