Üyelik Tarihi: 01-10-2017
Selam arkadaşlar,
Sqlite veritabanı kullandığım bir projem var. Editörde veritabanı çalışıyor fakat android'de çalışmıyor.
"Unable to open the database file" hatası veriyor.
Üyelik Tarihi: 05-05-2017
Database kitletmiş olabilir o yüzden açılamıyordur hatanın daha uzun bir açıklaması var mı ?
Bir gün her şey kodlanacak ...
Üyelik Tarihi: 01-10-2017
Yok malesef. Daha fazla ayrıntıya nasıl ulaşılıyor.
Üyelik Tarihi: 05-05-2017
Android'de hata veriyor derken build aldıktan sonra mı hata alıyorsun tam olarak o kısmı anlamadım.
Bir gün her şey kodlanacak ...
Üyelik Tarihi: 01-10-2017
Evet apk yı telefona yukledikten sonra uygulama veritabanına bağlanmaya çalışınca bu hatayı veriyor. Editörde normal çalışıyor.
Üyelik Tarihi: 05-05-2017
Kodlarda ki SQL bölümünü buraya atabilir misin inceleyebilmemiz için.
Bir gün her şey kodlanacak ...
Üyelik Tarihi: 01-10-2017
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Mono.Data.Sqlite;
using System.Data;
using System;
public class Db : MonoBehaviour
{
private string conn, sqlQuery;
IDbConnection dbconn;
IDbCommand dbcmd;
// Use this for initialization
void Awake()
{
conn = "URI=file:" + Application.dataPath + "/StreamingAssets/LocalDb.s3db"; //Path to database.
//Deletvalue(6);
//insertvalue("ahmedm", "ahmedm@gmail.com", "sss");
//Updatevalue("a", "w@gamil.com", "1st", 1);
//readers();
}
private void insertvalue(string name, string email, string address)
{
using (dbconn = new SqliteConnection(conn))
{
dbconn.Open(); //Open connection to the database.
dbcmd = dbconn.CreateCommand();
sqlQuery = string.Format("insert into SpecialWords (Name, Email, Address) values (\"{0}\",\"{1}\",\"{2}\")", name, email, address);// table name
dbcmd.CommandText = sqlQuery;
dbcmd.ExecuteScalar();
dbconn.Close();
}
}
private void Deletvalue(int id)
{
using (dbconn = new SqliteConnection(conn))
{
dbconn.Open(); //Open connection to the database.
dbcmd = dbconn.CreateCommand();
sqlQuery = string.Format("Delete from SpecialWords WHERE ID=\"{0}\"", id);// table name
dbcmd.CommandText = sqlQuery;
dbcmd.ExecuteScalar();
dbconn.Close();
}
}
private void Updatevalue(string name, string email, string address, int id)
{
using (dbconn = new SqliteConnection(conn))
{
dbconn.Open(); //Open connection to the database.
dbcmd = dbconn.CreateCommand();
sqlQuery = string.Format("UPDATE SpecialWords set Name=\"{0}\", Email=\"{1}\", Address=\"{2}\" WHERE ID=\"{3}\" ", name, email, address, id);// table name
dbcmd.CommandText = sqlQuery;
dbcmd.ExecuteScalar();
dbconn.Close();
}
}
public ItemContainer readers()
{
using (dbconn = new SqliteConnection(conn))
{
dbconn.Open(); //Open connection to the database.
dbcmd = dbconn.CreateCommand();
sqlQuery = "SELECT * " + "FROM SpecialWords";// table name
dbcmd.CommandText = sqlQuery;
IDataReader reader = dbcmd.ExecuteReader();
ItemContainer ic=new ItemContainer();
Item item=new Item();
while (reader.Read())
{
int id = reader.GetInt32(0);
string wordEng = reader.GetString(1);
string wordTr = reader.GetString(2);
//string Phone = reader.GetString(3);
item.wordEng = wordEng;
item.wordTr = wordTr;
ic.items.Add(item);
//Debug.Log("value= " + id + " Eng =" + wordEng + " Tr =" + wordTr);
}
for (int i = 0; i < ic.items.Count; i++)
{
Debug.Log(" Eng =" + ic.items[i].wordEng + " Tr =" + ic.items[i].wordTr);
}
reader.Close();
reader = null;
dbcmd.Dispose();
dbcmd = null;
dbconn.Close();
dbconn = null;
return ic;
}
}
// Update is called once per frame
void Update()
{
}
}
Üyelik Tarihi: 05-05-2017
Çok fazla sql kodu var hatanın nereden kaynaklandığını bulmak için önce sadece DB'ye open yaparak düzgün şekilde açabiliyor mu diye kontrol et daha sonrasında diğer işlemleri kontrol et genelde Update'de yada Insert işlemlerinde bu hatalar çıkıyor onu kontrol eder misin ?.
Bir gün her şey kodlanacak ...