Tag: sqlite3

SQLite查询:获取一行的所有列(android)?

这是架构: SQL查询是:SELECT * from unjdat,其中col_1 =“myWord”; 即,我想显示col_1为myWord的行的所有列。 int i; String temp; words = new ArrayList(); Cursor wordsCursor = database.rawQuery(“select * from unjdat where col_1 = \”apple\” “, null); //myWord is “apple” here if (wordsCursor != null) wordsCursor.moveToFirst(); if (!wordsCursor.isAfterLast()) { do { for (i = 0; i < 11; i++) { temp = wordsCursor.getString(i); words.add(temp); […]

将EditText和Spinner数据插入SQLite?

我正在尝试弄清楚如何使用EditText和Spinner从表单中捕获数据并将其插入到SQLite数据库中。 我能够编写硬编码属性,但是当我尝试使用R.id.fieldName时,由于是一个整数的字符串,它会抛出一个错误。 public class PetAdd extends Activity { DBAdapter db = new DBAdapter(this); private OnClickListener btnPetAddListener = new OnClickListener() { @Override public void onClick(View arg0) { db.open(); long id; id = db.insertPet(“name”, “type”, “breed”, “sex”, “notes”); /**id = db.insertPet(R.id.petName, R.id.SpinnerPetType, R.id.petBreed, R.id.SpinnerPetGender, R.id.EditTextPetAddOptions);*/ db.close(); } }; 我仍在尝试学习所有这些东西,并且通过查看大量的在线教程,示例和Google文档来锻炼我的大脑。 如果有人能告诉我如何做到这一点,或者指导我参加一个barney风格的教程,让我了解发生了什么,我们将不胜感激。

SQLite和JDBC:返回UnsatisfiedLinkError

我在VirtualBox中运行Xubuntu。 我安装了sqlite3,由于某种原因不再捆绑。 我将sqlite-jdbc-3.8.7.jar添加到我的构建路径并运行这个简单的代码来测试它。 import java.sql.*; public class JDBC_test { public static void main(String[] args) throws ClassNotFoundException, SQLException { Class.forName(“org.sqlite.JDBC”); Connection connection = DriverManager.getConnection(“jdbc:sqlite:test.db”); connection.close(); } } 我收到此错误: Exception in thread “main” java.lang.UnsatisfiedLinkError: org.sqlite.core.NativeDB._open(Ljava/lang/String;I)V at org.sqlite.core.NativeDB._open(Native Method) at org.sqlite.core.DB.open(DB.java:161) at org.sqlite.core.CoreConnection.open(CoreConnection.java:145) at org.sqlite.core.CoreConnection.(CoreConnection.java:66) at org.sqlite.jdbc3.JDBC3Connection.(JDBC3Connection.java:21) at org.sqlite.jdbc4.JDBC4Connection.(JDBC4Connection.java:23) at org.sqlite.SQLiteConnection.(SQLiteConnection.java:45) at org.sqlite.JDBC.createConnection(JDBC.java:114) at org.sqlite.JDBC.connect(JDBC.java:88) at java.sql.DriverManager.getConnection(DriverManager.java:571) at […]

如何使用Java从Sqlite3数据库获取解析日期?

我通过使用POJO为我的方法创建模型,从sqlite3 DB获取数据。 在arraylist中检索数据时,我得到日期解析错误。 日期被定义为sqlite3数据库中的时间戳,并且在编译它时抛出: Unparseable date:“2015-05-21 12:41:56”错误 。 在编译查询时,它会抛出: 解析时间戳的错误我正在使用getDate()从表中检索日期。 public List getAllData() { List meters = new ArrayList(); try { LOGGER.info(“############### FetchData.getAllData() start”); Statement statement = DBConnection.getConnection().createStatement(); ResultSet rs = statement.executeQuery(“SELECT * FROM ENERGY_METER”); LOGGER.info(“############### FetchData.getAllData() meters:”+rs.getDate(“CREATION_TIME”)); while (rs.next()) { EnergyMeter energyMeter = new EnergyMeter(); energyMeter.setDEVICE_IP(rs.getString(“IP”)); energyMeter.setCREATION_TIME(rs.getDate(“CREATION_TIME”)); energyMeter.setDESCRIPTION(rs.getString(“DESCRIPTION”)); energyMeter.setDEVICE_NAME(rs.getString(“DEVICE_NAME”)); energyMeter.setEMAIL_ID(rs.getString(“EMAIL_ID”)); energyMeter.setFDU_NAME(rs.getString(“FDU_NAME”)); energyMeter.setICBS(rs.getString(“ICBS”)); energyMeter.setLOCATION(rs.getString(“LOCATION”)); energyMeter.setMAC_ADDRESS(rs.getString(“MAC_ADDRESS”)); […]

如何将数据库写入a​​ndroid中的文本文件

我正在为我的大学项目目的开发间谍应用程序。 为此,我记录了设备的呼叫,位置和SMS,并将它们存储在数据库中。 现在我想将数据库的内容导出到文本文件..我尝试了下面的代码。 private void readAndWriteCallsData() { File dataBaseFile = getDatabasePath(“DATABASE”); File callDataFile = new File(Environment.getDataDirectory()+”/data/com.example.myapp/databases/”+”DATABASE”); try { BufferedReader dbFileReader = new BufferedReader(new FileReader(callDataFile)); String eachLine; while((eachLine = dbFileReader.readLine()) != null) { Callslog.append(eachLine); Callslog.append(“\n”); } } catch (IOException e) { e.printStackTrace(); } } 但那不行……请帮帮我……

如何在sqlite数据库中插入数据类型日期(yyyy-MM-dd)并在android中的两个日期之间检索数据

我有一个Sqlite3数据库表,包含姓名,地址,出生日期详情。我想显示1990-01-01到1995-01-01的详细信息。 但Sqlite3数据库仅存储以下数据类型。 TEXT NUMERIC INTEGER REAL NONE 任何人都有一些提示来存储和检索日期格式数据..?

IntentService冻结了我的应用程序UI

在我的应用程序中,我使用Intentservice从服务器获取数据并将获取的数据存储到本地sqlite db。 我正在使用5个IntentService来获取和填充五个表。 每个Intent Service的数据最多可达300行。 我该怎么办? IntentService代码: public class SendBpRecordServer extends IntentService { DbHelper dbHelper; public static final String TAG=”BP Service”; public JSONObject finalData; public SendBpRecordServer() { super(“BP”); dbHelper=new DbHelper(this); Log.i(“In Constructor”,TAG); } @Override protected void onHandleIntent(Intent intent) { String recName=intent.getStringExtra(“nameTag”); if (recName.equals(“fetch”)) { Log.i(“Send Data”,”Yes”); fetchDatFromServer(); ResultReceiver resultReceiver=intent.getParcelableExtra(“receiverTagBP”); Log.d(“BP Reseult “,resultReceiver.toString()); Bundle bun= new […]

sqlite,地理坐标索引?

我有一个包含地理数据的SQLite数据库。 我的表定义如下: CREATE TABLE GEO_OBJECTS (ID VARCHAR(30) PRIMARY KEY NOT NULL, LATITUDE NUMERIC(6,3) NOT NULL, LONGITUDE NUMERIC(6,3) NOT NULL) 接下来,我的软件(Java)正在使用这样的简单SQL请求来寻找GEO_OBJECTS: SELECT * FROM GEO_OBJECTS WHERE纬度 = 26.32 AND经度 = 6.23; 如果我在纬度和经度上创建一个INDEX,它会改善表现吗? 接下来,当我得到此查询的结果时,我正在使用半正公式来查找大圆距离的对象。

当jdbc与sqlite3数据库连接时,我该怎么做才能避免“内存不足”的错误?

当jdbc与sqlite3数据库连接时,我该怎么做才能避免“内存不足”的错误? java.sql.SQLException: out of memory at org.sqlite.DB.throwex(DB.java:288) at org.sqlite.NestedDB._open(NestedDB.java:73) at org.sqlite.DB.open(DB.java:77) at org.sqlite.Conn.(Conn.java:88) at org.sqlite.JDBC.connect(JDBC.java:64) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at action.Actions.(Actions.java:18) at controler.ClientControler.(ClientControler.java:14) at main.Main.main(Main.java:20) Class.forName(“org.sqlite.JDBC”); conn = DriverManager.getConnection(“jdbc:sqlite:clients.db”);

如何在android中使用正则表达式搜索sqlite数据库?

我试图在sqlite中使用正则表达式搜索数据库。 这是我的代码: cursor = db.rawQuery(“SELECT _id, employee FROM employees WHERE employee REGEXP ?”, new String[]{“%” + prepareSearchText() + “%”}); adapter = new SimpleCursorAdapter( this, R.layout.search_row, cursor, new String[] {“_id”, “employee “}, new int[] {R.id.idField, R.id.nameField}); setListAdapter(adapter); 但是我收到此错误: Caused by: android.database.sqlite.SQLiteException: no such function: REGEXP. 之前我在MySQL中使用了函数REGEXP,所以我认为它存在于sqlite中,但显然它不是。 在android中查询sqlite数据库时执行正则表达式的最佳方法是什么?