2014-11-11 2 views
1

Я пытаюсь обновить таблицу, которая принимает два параметра (Integer и String) в котором пункт ..проходят две различных типов данных в качестве параметров команды обновления

Если я пишу запрос, который не имеет никаких проблем, где я могу напрямую писать те, где положение, но я делаю это программно где Insert метод SQLite в андроид необходимо передать значения ..

Insert принимает только String заданы параметры, но мне нужно, чтобы передать одну строку и одно целое, как я этого добиться ,

Database.getInstance(getApplicationContext()).getWritableDatabase().update(st.tablename, 
st.update(buy,Buyprice , Sell, Sellprice), (st.column2+" =? and "+ st.column3+" =? "),(new 
String[] {getdate,name})); 

в команде выше getdate является Integer и name является String, но он дает ошибку Type mismatch: cannot convert from Integer to String

Пожалуйста, помогите мне преодолеть.

Спасибо за ваше время.

+0

Можно не использовать String.valueOf (GetDate)? все должно быть в порядке. – TheRedFox

+0

@TheRedFox Спасибо за ваш ответ .. но столбец 'Integer' как он может сравнивать String – Siva

+0

не имеет значения, он будет сравнивать, так как все запросы являются строкой – TheRedFox

ответ

3

Как вы можете сохранить intenger в массив строк? Это невозможно.

Значит, вам нужно ввести целое число.

как

String[] {String.valueOf(getdate),name} 

Это будет обрабатываться, чтобы проверить целочисленный столбец. Не беспокойтесь об этом.

+0

Спасибо за ваш ответ ... но столбец Integer как можно он сравнивает значение String и будет ли запрос принимать сравнение целого числа со строкой в ​​where где – Siva

+0

Вы передаете значения в строку [], и они будут обрабатываться внутри sqlite. –

+0

Спасибо за ваш ответ .. постараемся принять как ответ – Siva

0

Получает примитивный int или Object Integer? Один простой способ преобразования int в String просто добавляет «» перед int. { "" + GETDATE, имя}

Если вы используете объект Integer использовать .ToString() 1

Смежные вопросы