আমি Long
পরিবর্তে কলামের ধরণ দিয়ে একটি টেবিল তৈরি করতে চাই Integer
। এটা কি সম্ভব?
আমি Long
পরিবর্তে কলামের ধরণ দিয়ে একটি টেবিল তৈরি করতে চাই Integer
। এটা কি সম্ভব?
উত্তর:
থেকে SQLite ডক্স
শর্তযুক্ত । মান হ'ল একটি স্বাক্ষরিত পূর্ণসংখ্যা, মানটির পরিমাণের উপর নির্ভর করে 1, 2, 3, 4, 6, বা 8 বাইটে সঞ্চিত হয়।
যেহেতু long
8 বাইট এবং INTEGER
8 বাইটের মানও সংরক্ষণ করতে পারে তাই আপনি ব্যবহার করতে পারেন INTEGER
।
int
, নিশ্চিত হয়ে নিন যে আপনি দীর্ঘকাল ব্যবহার করছেন।
INTEGER
প্রকার হিসাবে কলামটি তৈরি করুন :
db.execSQL("CREATE TABLE IF NOT EXISTS " + TABLE_A + "("
+ KEY + " INTEGER" + ")");
কলামে long
মানটি রাখুন INTEGER
:
contentValues.put(KEY, object.getLongValue());
db.insert(TABLE_A, null, contentValues);
গুরুত্বপূর্ণ: হিসাবে কার্সার থেকে মানটি পুনরুদ্ধার করুনLONG
Cursor cursor = db.rawQuery("SELECT * FROM " + TABLE_A, null);
long value = cursor.getLong(0);
আমি মনে করি না টাইপ দীর্ঘ আছে। হয় আপনি INTEGER (বা) সংখ্যা ব্যবহার করতে পারেন। সমর্থিত ডেটা প্রকারের http://www.sqlite.org/datatype3.html এর সাথে লিঙ্কটি এখানে
তার উপরের লিঙ্কটি একটি bit৪ বিট পূর্ণসংখ্যার বা মূলত একটি দীর্ঘ চিত্রিত করে , দেখুন এসকিউএলাইট ইন্টিজার ডেটা টাইপগুলির মত পার্থক্য কী যেমন ইন্টি, পূর্ণসংখ্যা, বিগিন্ট ইত্যাদি?
SQLIte আপনার ইনপুট উপর নির্ভর করে উপযুক্ত পূর্ণসংখ্যার প্রস্থ সেট করবে
পূর্ণসংখ্যা সংরক্ষণ করতে পারেন দীর্ঘ কিন্তু থেকে দীর্ঘ পেতে কার্সার ভালো করা উচিত:
int type = cursor.getType(j);
String value = cursor.getString(j);
try {
int intValue = Integer.parseInt(value);
field.set(object, intValue);
} catch (NumberFormatException e) {
long longValue = Long.parseLong(value);
field.set(object, longValue);
}
আমি এটি ব্যবহার সঞ্চয় করতে টাইমস্ট্যাম্প মধ্যে SQLite