Kurt Jimenez Ответов: 1

Com.microsoft.sqlserver.jdbc.sqlserverexception: индекс 1 находится вне диапазона.


private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO добавьте свой код обработки здесь:

Строка car_id = combocarID.getSelectedItem().toString();

Строка cust_id = txtcust_id.getText();
Строка плата = txtrentalfee.с текстом();

SimpleDateFormat Date_Format = новый SimpleDateFormat("гггг-ММ-ДД");
Строка date = Date_Format.format(txtdate.getDate());

SimpleDateFormat Date_Format1 = новый SimpleDateFormat("гггг-ММ-ДД");
Из-за строки = Date_Format1.формат(txtdate.функции getdate());

пробовать {
Класс.forName("COM на.Майкрософт.от SQLServer.с JDBC.SQLServerDriver");
кон = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=MyProject;user=MyAdmin;password=123456789");
pst3 = кон.prepareStatement("вставить в прокат (CAR_ID,идентификатора customer_id,плата,время,связи) значения(?,?,?,?,?)");
pst3.setString(1, car_id);
pst3.setString(2, cust_id);
pst3.setString(3, плата);
pst3.setString(4, Дата);
pst3.setString(5, due);
pst3.executeUpdate();


pst4 = con.prepareStatement("UPDATE CarRegistration SET AVAILABLE='No' WHERE
CAR_NO ");


pst4.setString(1,car_id);
pst4.executeUpdate();

Что я уже пробовал:

я пытался изменение индекса нет, но по-прежнему получаю сообщение об ошибке в pst4.метод setString(1,car_id)

1 Ответов

Рейтинг:
11

OriginalGriff

Посмотрите на свой код:

pst4 = con.prepareStatement("UPDATE CarRegistration SET AVAILABLE='No' WHERE
CAR_NO ");


pst4.setString(1,car_id);
SQL не содержит параметров (или даже допустимого предложения SQL WHERE) - вот почему индекс 1 не существует. Возможно, вы имели в виду именно это:
pst4 = con.prepareStatement("UPDATE CarRegistration SET AVAILABLE='No' WHERE
CAR_NO = ?");


pst4.setString(1,car_id);


Kurt Jimenez

Да, ты прав, братан, извини, что я забыл включить это, спасибо!

OriginalGriff

Всегда пожалуйста!