标签: sqlite

SQLite数据库中的第二个表未创建

我知道以前有很多关于这个主题的问题,但这些问题/答案都没有帮助.我正在创建一个Android应用程序,我有一个包含多个表的数据库.第一个成功创建,但第二个从未创建.当我稍后尝试访问该表时,它给出了"表不存在"错误.我曾多次尝试更改数据库名称,更改数据库版本,清除缓存和数据,卸载并重新安装我的应用程序.什么都行不通.我使用sqlite浏览器查看我的数据库,第二个表不存在.我已经尝试在增加版本之后onCreate在我的方法中添加断点SQLiteDatabaseOpenHelper.调试器直接通过.以下是适用的代码:First Table DBHelper:

public class SessionDescriptionsDatabaseOpenHelper extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "database.db";
private static final String TABLE_SESSIONDESCRIPTIONS = "session_descriptions";
private static final String COLUMN_ID = "_id";
private static final String COLUMN_TITLE = "title";
private static final String COLUMN_DESCRIPTION = "description";

public SessionDescriptionsDatabaseOpenHelper(Context context) {
    super(context, DATABASE_NAME, null, DATABASE_VERSION);
}

@Override
public void onCreate(SQLiteDatabase db) {


    // Database creation SQL statement
    final String DATABASE_CREATE = "create …
Run Code Online (Sandbox Code Playgroud)

database sqlite android multiple-tables sqliteopenhelper

0
推荐指数
1
解决办法
871
查看次数

Zend\Db:从子查询中选择

我正在将应用程序从ZF1移植到ZF2,作为其中的一部分,我必须重写我们的数据库映射器.

我正在努力解决这个SQL语句:

SELECT full_name, GROUP_CONCAT(value)
FROM (
   SELECT full_name, value
   FROM my_table
   ORDER BY id DESC
   ) as subtable
GROUP BY full_name
ORDER BY full_name DESC;
Run Code Online (Sandbox Code Playgroud)

我试图解决的根本问题是我需要在运行之前订购子查询的结果,GROUP_CONCAT我需要它适用于MySQL和Sqlite.在MySQL中,我可以简单地指定GROUP_CONCAT函数内的顺序,但这对于Sqlite是不可能的,所以我需要子查询才能兼容MySQL和Sqlite.

在ZF1中,我可以这样做:

$fromSql = $db->select()
              ->from('my_table', array('full_name', 'value'))
              ->order('id DESC');

$sql = $db->select()
          ->from(array(
                'subtable' => new Zend_Db_Expr('(' . $fromSql . ')')
            ), array(
                'full_name' => 'full_name',
                'value' => new Zend_Db_Expr('GROUP_CONCAT(subtable.value)'),
            )
          )
          ->group('full_name')
          ->order('full_name DESC');
Run Code Online (Sandbox Code Playgroud)

但是,使用ZF2似乎不可能在from子句中使用子查询.有没有解决这个问题?

mysql sqlite zend-db zend-framework2

0
推荐指数
1
解决办法
3918
查看次数

sqlite android中的多个insert语句

大家好我有多个插入语句的问题,我需要插入许多记录.我已经用这种方式编写,但记录没有插入"userbill"表.帮我??

..这是代码:

    SQLiteDatabase db = mySQLiteHelper.getWritableDatabase();
    String sql = "insert into userbill (billid, userid, date, amount, bill_status) values (?, ?, ?, ?, ?)";

    db.beginTransaction();
    SQLiteStatement st = db.compileStatement(sql);

    try{
        for(int i=0;i<Userid.length;i++)
        {

                st.bindLong(1, billid);
                st.bindString(2, Userid[i]);
                st.bindString(3, due_date);
                st.bindDouble(4, amount/Userid.length);
                st.bindString(5, "Due");

                long entryID = st.executeInsert();
                st.clearBindings();
        }

       db.setTransactionSuccessful();
    }
    catch(Exception e)
    {
        //e.printStackTrace();
        Log.e("MYAPP", "exception", e);
    }
    finally
    {
        db.endTransaction();
    }
    db.close(); 
Run Code Online (Sandbox Code Playgroud)

logcat的:

09-05 13:12:48.610:D/dalvikvm(7982):GC_FOR_ALLOC释放314K,10%免费5030K/5568K,暂停17ms,总计18ms

09-05 13:12:48.610:I/dalvikvm-heap(7982):将堆(frag case)增长到6.181MB,用于1127532字节分配

09-05 13:12:48.614:D/dalvikvm(7982):GC_FOR_ALLOC释放2K,9%免费6129K/6672K,暂停5ms,总计5ms

09-05 13:12:48.710:W/EGL_genymotion(7982):eglSurfaceAttrib未实现

09-05 13:12:57.014:I/SQLiteConnectionPool(7982):/data/data/com.perfect12.app2maintain/databases/AMTDB的连接池已关闭,但仍有1个连接正在使用中.当他们被释放回游泳池时,他们将被关闭.

09-05 13:12:57.286:W/EGL_genymotion(7982):eglSurfaceAttrib未实现

sqlite android bulkinsert insert

0
推荐指数
1
解决办法
723
查看次数

Cordova SQLlite插件如何获取值表单选择?

我刚为Cordova安装了这个SQLlite插件:

https://github.com/brodysoft/Cordova-SQLitePlugin

我想以JSON数组的形式返回结果,所以我尝试了这个:

 db.transaction(function(tx) {
     tx.executeSql("select * from dialed_calls;", [], function(tx, res) {
         console.log("tx object " +JSON.stringify(tx));
         console.log("res object " +JSON.stringify(res));
     });
 });
Run Code Online (Sandbox Code Playgroud)

问题是返回的对象中没有一个包含来自列的响应值.

例如res对象返回:

{"rows":{"length":12},"rowsAffected":0}
Run Code Online (Sandbox Code Playgroud)

问题是:

如何将重新调整的行作为JSON数组获得结果?

谢谢你的帮助.

sqlite json phonegap-plugins cordova

0
推荐指数
1
解决办法
2925
查看次数

如何从联接语句中汇总单个表

我正在尝试执行查询,但我的总和部分遇到了麻烦.我有表A和表B.我想从表A中总结一列,其中表A和表B中的2列是相同的,并且属于相同的日期和班次.然而,总结包括表B以及某种方式.我不知道为什么会这样.我该怎么做才能它只对表A求和,但仍然包括表B的条件.任何帮助都非常感谢.谢谢.

SELECT Sum (a.TotalLbs)
FROM   TableA a
       INNER JOIN TableB b
               ON a.Wic = b.Wic
WHERE  a.DateTime = b.DateTime
       AND a.Shift = b.Shift 
Run Code Online (Sandbox Code Playgroud)

sql sql-server sqlite sql-server-2008

0
推荐指数
1
解决办法
38
查看次数

codeigniter 2.2的sqlite3配置

我是第一次使用sqlite,所以我在使用codeigniter 2.2配置它时遇到了问题.

我把我的sqlite数据库放在: - application/config/sqlite/sqlite-database.db

我的配置是: -

    $db['default']['hostname'] = 'localhost';
    $db['default']['username'] = '';
    $db['default']['password'] = '';
    $db['default']['database'] = 'sqlite/sqlite-database.db';
    $db['default']['dbdriver'] = 'sqlite';
    $db['default']['dbprefix'] = '';
    $db['default']['pconnect'] = TRUE;
    $db['default']['db_debug'] = TRUE;
    $db['default']['cache_on'] = FALSE;
    $db['default']['cachedir'] = '';
    $db['default']['char_set'] = 'utf8';
    $db['default']['dbcollat'] = 'utf8_general_ci';
    $db['default']['swap_pre'] = '';
    $db['default']['autoinit'] = TRUE;
    $db['default']['stricton'] = FALSE;
Run Code Online (Sandbox Code Playgroud)

我无法连接到数据库

php sqlite codeigniter

0
推荐指数
1
解决办法
4818
查看次数

为什么我使用此SQLite代码获得"无效的强制转换异常"?

我有这个代码来从SQLite表中获取计数:

internal static bool TableExistsAndIsNotEmpty(string tableName)
{
    int count;
    string qry = String.Format("SELECT COUNT(*) FROM {0}", tableName);
    using (SQLiteConnection con = new SQLiteConnection(HHSUtils.GetDBConnection()))
    {
        con.Open();
        SQLiteCommand cmd = new SQLiteCommand(qry, con);
        count = (int)cmd.ExecuteScalar();
    }
    return count > 0;
}
Run Code Online (Sandbox Code Playgroud)

当它运行时,我得到" 无效的强制转换异常 "

很明显,从查询返回的值是一个int,也就是记录的数量(我运行查询时得到"2",即Sqlite浏览器中的"SELECT COUNT(*)FROM WorkTables") .

那么在这里被无效投入的是什么?

作为一种旁注,我知道最好使用查询参数,我在这里找到了如何在Windows应用商店中执行此操作[ 如何在WinRT应用中使用SQLite查询参数?,但不知道如何在一个旧的(Windows窗体/ Windows CE)应用程序中执行此操作.

我认为会是这样的:

string qry = "SELECT COUNT(*) FROM ?";
using (SQLiteConnection con = new SQLiteConnection(HHSUtils.GetDBConnection()))
{
    con.Open();
    SQLiteCommand cmd = new SQLiteCommand(con);
    count = cmd.ExecuteScalar(qry, tableName);
}
Run Code Online (Sandbox Code Playgroud)

......但我尝试编译的类似之处.

c# sqlite casting executescalar windows-ce

0
推荐指数
1
解决办法
3350
查看次数

选择其字符串中某处为"h"的所有条目,之后有一个`e`,`l`和`o`

给定像这样wort的表中的列中的条目woerter

henlo
oenlh
olneh
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个sqlite命令,列出所有word包含的条目h e l o(例如,实际上这些字母总是不同) - 按此顺序.所以在这个例子中结果应该是

henlo

因为有

heñlo

换句话说:选择字符串中某处的所有条目h,之后有一个e,lo.它不需要在它之后,而是在它之后的某个地方.例如:

ssssshssssssessssssslsssossssso

会在结果中,

ssosssssossssshssssssesssssssls

不会.

到目前为止我的方法:

SELECT*FROM woerter WHERE wort LIKE'h%'AND wort LIKE'%e%'AND wort LIKE'%l%'AND wort LIKE'%o'

这是有缺陷的,因为它没有正确地整合e和l的顺序,它需要h和o在开头和结尾.

sql sqlite android-sqlite

0
推荐指数
1
解决办法
64
查看次数

错误:sqlite返回:错误代码= 1,msg =没有这样的表

我正在开发一个小应用程序,它将位置纬度和经度存储在SQLite数据库中.我有三个课程如下:

AddPlaceActyivity.java

import android.app.Activity;
import android.app.Fragment;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

import com.example.rememberthislocation.R;




public class AddPlaceActivity extends Activity{

    Button btn_remember,btn_maps;
    Fragment fr;
    Button addlocation;
    EditText locationname;
    String mylocationname,mylatitude,mylongitude;

    @Override
     protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        Log.d("my","In oncreateview");

        setContentView(R.layout.remember_fragment);


                addlocation = (Button)findViewById(R.id.btn_addlocation);
                 locationname = (EditText)findViewById(R.id.locationname);


                  mylocationname = locationname.getText().toString();
                     Log.d("my","value 1 taken");

                    mylatitude = "0.0";
                    mylongitude = "0.0";

                      Log.d("my", "data values taken"); 


                  addlocation.setOnClickListener(new View.OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        // TODO Auto-generated method stub
                        MySqliteHelper db …
Run Code Online (Sandbox Code Playgroud)

java sqlite android android-sqlite

0
推荐指数
1
解决办法
1383
查看次数

connect_to_database()来自哪里?

http://flask.pocoo.org/docs/0.10/patterns/sqlite3/

我明白了:NameError:未定义全局名称'connect_to_database'

真的不能确定应该在哪里定义?

python sqlite flask

0
推荐指数
1
解决办法
678
查看次数