проблема при вставке значения в базу данных - PullRequest
0 голосов
/ 20 сентября 2011

Привет, я разрабатываю приложение для Android.Я использую базу данных SQL Server 2008 R2 для хранения данных и получения данных.Теперь, когда я вставляю значение в базу данных, я вставляю в таблицу 4 даты.

Вот запрос:

"INSERT Into Task_Master VALUES ('1'," +
                "" +userId+"," +userId+ ",'N','" +Subject+ "'," +
                "'" + serverdate + "','" + StartDate+ "','" + serverdate + "'," +
                "'"+" "+"'," +
                "'" +" "+ "','0'," +groupId+ ",0,0,1,0,'1/1/1900','','N','" +cal.getTime()+ "','')" +
                " Select Scope_Identity()";

В этой «Serverdate», StartDate, Cal.getTime() у всех есть тип данных Дата.И в базе данных я использовал тип данных datetime.Но все же это дает мне исключение, которое говорит: «java.sql.sqlexception: преобразование не удалось при преобразовании даты и / или времени из строки символов».Помоги мне, если знаешь ответ.Я искал в googlwe, но не получил ответа.

Ответы [ 2 ]

4 голосов
/ 20 сентября 2011

Хорошо, давайте сделаем это.

Во-первых, и, самое главное, ваш код уязвим для SQL-инъекции .Вы должны поработать над этим и начать использовать параметры.

Во-вторых, к тому времени, как вы начнете использовать параметры, ваша ошибка, скорее всего, исчезнет (или появится снова где-то еще, на этот раз прояснится, что не так).Это потому, что, возможно, серверу «не нравится» ваш формат даты , поэтому он не работает.

Обновление

О параметризованных запросах в Java читайте здесь:

0 голосов
/ 20 сентября 2011

Я думаю, что есть несоответствие формата даты.

Попробуйте посмотреть здесь: http://www.coderanch.com/t/385771/java/java/java-sql-Date-dd-mm

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