JDBC MySQL Редактирование / Обновление текущей записи в базе данных - PullRequest
1 голос
/ 11 декабря 2011

Как я могу редактировать определенную запись данных в MySQL? например, у меня есть таблица с личной информацией, но я хочу только отредактировать таблицу с именем, могу ли я просто сделать это так?

"Update Personal_Info
set first_name='"+getFirstName()+"' ,last_name = ?
where emp_id = 2011-01015" 

Где вопросительный знак в фамилии сохранит свое значение. Я использую такой подход, потому что я не хочу жестко кодировать все. вы видите в моем пользовательском интерфейсе, я буду использовать форму, где пользователь будет выбирать, если он хочет, чтобы обновить только имя и фамилию. Я пришел с этой идеей, так как мне будет легче. но предложения приветствуются.

Ответы [ 2 ]

3 голосов
/ 11 декабря 2011

Включайте только те столбцы, значение которых вы хотите обновить. Предположим, что если вы хотите обновить first_name, оператор будет:

String sql="Update Personal_Info set first_name=? where emp_id=?";
PreparedStatement ps=conn.prepareStatement(sql);
ps.setString(1,getFirstName()); // set parameter value for first_name
ps.setString(2,"2011-01015");   //     parameter value for emp_id    
ps.executeUpdate();
ps.close();
conn.close();

EDIT:

String sql="Update Personal_Info set first_name=? where emp_id='2011-01015'";
PreparedStatement ps=conn.prepareStatement(sql);
ps.setString(1,getFirstName()); // set parameter value for first_name
ps.executeUpdate();
ps.close();
conn.close();
0 голосов
/ 11 декабря 2011

Да, вы можете сделать это так. Но вы должны рассмотреть возможность использования PreparedStatements , чтобы исключить возможные инъекции SQL в ваше приложение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...