我正试着在Kotlin用Sqlite创建一张table。我试图在表中保留一个字符串类型的数据,但它显示为0,我该怎么办?我使用了VARCHAR、NVARCHAR、TEXT,结果没有改变。
try{
val veritabani=this.openOrCreateDatabase("Urunler", Context.MODE_PRIVATE,null)
veritabani.execSQL("CREATE TABLE IF NOT EXISTS urunler (id INTEGER PRIMARY KEY, isim TEXT , fiyat INT) " )
veritabani.execSQL( "INSERT INTO urunler (isim, fiyat ) VALUES ('asda',100)")
val cursor =veritabani.rawQuery("SELECT * FROM urunler " ,null)
val idColumnIndex=cursor.getColumnIndex("id")
val isimColumnIndex=cursor.getColumnIndex("isim")
val fiyatColumnIndex=cursor.getColumnIndex("fiyat")
System.out.println("deneme11")
while(cursor.moveToNext()){
System.out.println("ID :${cursor.getInt(idColumnIndex)}")
System.out.println("isim :${cursor.getInt(isimColumnIndex)}")
System.out.println("fiyat :${cursor.getInt(fiyatColumnIndex)}")
}
}
catch (e:Exception){
System.out.println("error"+ e.message);
}
输出如下所示
I/System.out: ID :1
I/System.out: isim :0
I/System.out: fiyat :100
2条答案
按热度按时间i86rm4rw1#
您的代码尝试检索一个整数,因为您使用
getInt()
来获取列isim
的值。您应该使用
getString()
:h79rfbju2#
我建议你使用房间数据库,如果你想在旧的应用程序中使用数据库,那么你可以使用房间的旧依赖。