#java
#java
Вопрос:
import java.sql.*;
import java.io.*;
public class preparedstatementdemo
{
public static void main(String arg[]) throws Exception
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:yoksource","","");
String Sqlcmd="insert into yokrecord values(?,?,?)";
** PreparedStatement ps=con.prepareStatement(Sqlcmd);
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter a name");
ps.setString(1,br.readLine());
System.out.println("Enter age");
ps.setInt(2,Integer.parseInt(br.readLine()));
System.out.println("enter address");
ps.setString(3,br.readLine());
ps.executeUpdate();
System.out.println("inserted");
}
}
** ошибка: несовместимый тип
Комментарии:
1. Уточните свой вопрос в теле вопроса.
2. Пожалуйста, оцените, где возникает ошибка, и сообщите нам более подробную информацию 🙂
3. В какой строке вы получаете ошибку? трассировка ошибки в стеке?
4. Было бы полезно предоставить как входные данные, так и определение таблицы.
5. Я думаю, это понятно. Значения, которые вы устанавливаете, не ожидаются при вводе. Например, если ожидается, что 1-й параметр является int, вы отправляете строку.
Ответ №1:
Я полагаю, что проблема связана с фактической INSERT
командой, которую вы используете — синтаксис должен быть:
INSERT INTO yokrecord (fieldname1,fieldname2,fieldname3) values(?,?,?);
Комментарии:
1. Я пытаюсь то, что вы говорите, но все еще получаю то же исключение ошибки в потоке «main» java.lang.RuntimeException: Некомпилируемый исходный код — требуются несовместимые типы: найдено подготовленное утверждение: java.sql.PreparedStatement в preparedstatementdemo.main (preparedstatementdemo.java: 10) Результат Java: 1 УСПЕШНАЯ СБОРКА (общее время: 7 секунд)
2. указывает ли ваш источник данных базу данных, в которой у вас есть таблица с именем yokrecord?