Проблема вставки в базу данных SQL Server с Java - PullRequest
2 голосов
/ 18 августа 2011

У меня проблема, потому что я не могу вставить в базу данных сервера sql:

драйвер: [Microsoft] [SQLServer 2000 Драйвер для JDBC] [SQLServer]

public int sendCabecera(String tpv, Date date, String time, int NumPers, int CodOfi) {

    java.sql.DatabaseMetaData dm = null;
    int result = 0;

    try {
        connection = this.getConnection();
        if (connection != null) {
            dm = connection.getMetaData();

            Statement select = connection.createStatement();


            String sql="INSERT INTO TCabecerasSolicitudes(CodigoTPV, FechaYHora, Hora, NumeroPersonas, CodigoOficina) VALUES ('001','17/08/2011 16:00','De 16 a 17',0, '001');";

            select.execute(sql);


//{.... catch ... etc }

Ну, я попробовал все выполнить обновление и выполнить в одиночку, и я всегда вижу одну и ту же ошибку: «Невозможно вставить NULL», это первый столбец, который является первичным ключом и обычно имеет автоинкремент, поэтому я просто игнорирую его, но это не работает, почему ???

Заранее большое спасибо,

РЕДАКТИРОВАТЬ: проблема решена. Оказалось, что данный ключ не является автоинкрементом

1 Ответ

1 голос
/ 18 августа 2011

Скорее всего, у вас есть столбец в вашей таблице TCabecerasSolicitudes, который определен как NOT NULL, но который не указан в вашем операторе вставки (то есть не один из CodigoTPV, FechaYHora, Hora, NumeroPersonas, CodigoOficina).

Поскольку вы не указали значение для этого столбца в запросе, а оно NOT NULL, оператор взрывается.

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