Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java: Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
NNN7
8 / 8 / 10
Регистрация: 05.09.2013
Сообщений: 502
1

Не могу вставить запись в БД

17.02.2015, 21:38. Просмотров 600. Ответов 6
Метки нет (Все метки)

У меня есть переменная
Java
1
String str="text"
мне нужно вставить ее значение в таблицу
пишу :

Java
1
 statement.execute("INSERT INTO users(name, sername, login, email, password, passwprd2)  VALUES (str,str,str,str,str,str )");
но так не получается , выдает ошибки

если писать так :

Java
1
  statement.execute("INSERT INTO users(name, sername, login, email, password, passwprd2)  VALUES ('text','text','text','text','text','text')");
то всё ок , всё записывается

Но мне нужно именно переменные String записывать . Все поля у меня VARCHAR(40) .

Может можно какой-то другой тип для этого задать?

Как это можно сделать ? Подскажите , пожалуйста . Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2015, 21:38
Ответы с готовыми решениями:

Не могу вставить строку(кириллица)
Выдает ошибку. Поменял кодировку на 1251 тоже самое. Сейчас стоит ютф-8...

JBuilder9, MySQL: не могу вставить строчку в базу данных с увеличенным на 1 номером...
Вот примерный вырезанный код: queryResolver1.setDatabase(database1); ...

Не могу вставить запись
Здравствуйте. Не могу вставить запись в свою БД. Сейчас она пустая. Хочу...

C# + ADO.NET + Access 2003. Не могу вставить запись
Доброго времени суток. Приложение не может вставить запись в таблицу, выдает...

Не могу вставить флеш кнопки. Не могу их размещать
Мне надо создать мини сайт с таким дизайном, я вроде все сумел сделать, только...

6
Sanan07
279 / 259 / 173
Регистрация: 27.07.2014
Сообщений: 584
17.02.2015, 22:21 2
ПОПРОБУЙ ПЕРЕВЕСТИ В toCharArray() потом вставить
0
Гоблин666
6 / 6 / 4
Регистрация: 12.04.2014
Сообщений: 46
17.02.2015, 22:26 3
попробуй перед формированием запроса обернуть свою строку в кавычки т.е
Java
1
2
3
4
String str="text";
String  buf_str = "\'"+str+"\'"
 
statement.execute("INSERT INTO users(name, sername, login, email, password, passwprd2)  VALUES (buf_str,buf_str,buf_str,buf_str,buf_str,buf_str)");
P.S точно не помню в какую сторону слэш для экранирования)
0
_Den_
160 / 156 / 29
Регистрация: 21.09.2013
Сообщений: 487
Записей в блоге: 2
17.02.2015, 23:08 4
Java
1
2
3
4
String str="text"
PreparedStatement st = connection.prepareStatement("INSERT INTO users(name) VALUES(?)");
st.setString(1,str);
st.execute();
1
NNN7
8 / 8 / 10
Регистрация: 05.09.2013
Сообщений: 502
18.02.2015, 01:23  [ТС] 5
а если у меня несколько столбцов , например, 7
и 1-ый столбец типа int , авто инкрементируется
как тогда писать ?

Java
1
2
3
4
5
6
String str="text"
PreparedStatement st = connection.prepareStatement("INSERT INTO users(name) VALUES(?,?,?.?,?,?)");
st.setString(2,str);
...
st.setString(7,str);
st.execute();
так?

Добавлено через 31 минуту
Вот пробую вот так :

Java
1
2
3
4
5
6
7
8
9
10
11
12
     String INSERT_NEW="INSERT INTO users VALUES (?,?,?,?,?,?,?)";
 
        PreparedStatement preparedStatement=dbWorker.getConnection().prepareStatement(INSERT_NEW);
        preparedStatement.setInt(1,11);
        preparedStatement.setString(2,"aaa");
        preparedStatement.setString(3,"bbb");
        preparedStatement.setString(4,"vvv");
        preparedStatement.setString(5,"bbbbbbb");
        preparedStatement.setString(6,"aaaaaa");
        preparedStatement.setString(7,"yyyyi");
 
        preparedStatement.execute();
у меня id каждый раз само инкрементируется
как тогда записать нужно ? чтобы не точное значение давать
0
_Den_
160 / 156 / 29
Регистрация: 21.09.2013
Сообщений: 487
Записей в блоге: 2
18.02.2015, 01:24 6
Почти. Нужно указать все столбцы кроме первого (инкремента) т.е. into users (name,...) values (?...), а далее так же, только начиная с 1
1
turbanoff
Эксперт Java
4017 / 3752 / 741
Регистрация: 18.05.2010
Сообщений: 9,329
Записей в блоге: 11
Завершенные тесты: 1
23.02.2015, 13:01 7
NNN7, да, и Statement не забывайте закрывать обязательно.
Java
1
2
3
4
    try (PreparedStatement preparedStatement=dbWorker.getConnection().prepareStatement(INSERT_NEW)) {
        preparedStatement.setString(,)
        preparedStatement.execute();
   }
0
23.02.2015, 13:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.02.2015, 13:01

вставить запись
Здравствуйте! Абсолютный ноль в php. Не вставляется запись в бд(( на выборку...

Вставить запись в БД и получить ее id
Строка вставляется, а при запросе максимума вылетает: "ошибка ядро базы данных...

Вставить горизонтальную линию в запись
помогите как в записе сделать вот такую линию


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru