Если вы хотите прочитать как строки, так и ints, решение должно использовать два сканера:
Scanner stringScanner = new Scanner(System.in);
Scanner intScanner = new Scanner(System.in);
intScanner.nextInt();
String s = stringScanner.nextLine(); // unaffected by previous nextInt()
System.out.println(s);
intScanner.close();
stringScanner.close();
С System.Data.OleDb
параметры строго positional . OleDb игнорирует имена параметров и обращает внимание только на порядок, в котором помещики параметров появляются в CommandText. Поэтому вам нужно .Add
или .AddWithValue
параметры точно в том же порядке, что они появляются в CommandText.
В вашем случае вам нужно отменить порядок последних двух dbCommand.Parameters.AddWithValue
операторов : @Address_ID
должен быть последним добавленным параметром, потому что его заполнитель появляется последним в CommandText.