在android我使用以下语句.
model = dataHelper.rawQuery("SELECT _id, engword, lower(engword) as letter FROM word WHERE letter >= 'a' AND letter < '{' AND engword LIKE '%" + filterText + "%'", new String[ {"_id","engword", "lower(engword) as letter"});
Run Code Online (Sandbox Code Playgroud)
它在扔 android.database.sqlite.SQLiteException: bind or column index out of range: handle 0x132330
我的代码有什么问题?
我想在我的android模拟器上安装数据库时升级它.我在我的DbHelper中设置了db版本,它继承自SQLiteOpenHelper到+1.
但是,当我的第一个活动加载时,我实例化我的DbHelper,我希望SQLiteOpenHelper调用onUpgrade,因为db版本现在更新了.但它永远不会被称为.我想知道是否有我遗失的东西.DbHelper使用的版本在哪里存储以与新版本进行比较?为什么这不起作用?
我实际上是将数据库从assets文件夹复制到数据文件夹,而不是重新创建模式.
public class DbHelper extends SQLiteOpenHelper {
private static final String TAG = "DbHelper";
static final String DB_NAME = "caddata.sqlite";
static final int DB_VERSION = 4;
private static String DB_PATH = "";
private Context myContext;
private SQLiteDatabase myDataBase;
public DbHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
this.myContext = context;
DB_PATH = "/data/data/"
+ context.getApplicationContext().getPackageName()
+ "/databases/";
}
public DbHelper open() throws SQLException {
myDataBase = getWritableDatabase();
Log.d(TAG, "DbHelper Opening Version: " + this.myDataBase.getVersion());
return this;
}
@Override
public …Run Code Online (Sandbox Code Playgroud) 嗨我收到了尝试通过php文件连接到sqlite时找不到驱动程序错误.我已经设置了777的权限... PHP版本5.2.16,我有模块安装.任何理由为什么它没有找到驱动程序,也php.ini显示扩展pdo.so和pdo_mysql.so安装.
PDO
PDO支持启用了PDO驱动程序mysql
PDO_MYSQL
用于MySQL的PDO驱动程序,客户端库版本5.0.92
try {
// Connect to the SQLite Database.
$db = new PDO('sqlite:.subscribers.db');
} catch(Exception $e) {
die('connection_unsuccessful: ' . $e->getMessage());
}
Run Code Online (Sandbox Code Playgroud) 我刚刚开始阅读Michael Hartl撰写的ruby.railstutorial.org一书,并一直在完成第一章.我正在使用mac book OS X,Terminal和Sublime Text.一切都按计划进行,直到测试部署到Heroku为止.我能够连接到Heroku并运行$ git push herokumaster命令.但是部署失败了:
Installing sqlite3 (1.3.5) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/usr/local/bin/ruby extconf.rb
checking for sqlite3.h... no
sqlite3.h is missing. Try 'port install sqlite3 +universal'
or 'yum install sqlite-devel' and check your shared library search path (the
location where your sqlite3 shared library is located).
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the …Run Code Online (Sandbox Code Playgroud) 我正在使用HTML5和Javascript创建一个应用程序.此应用程序将与Windows和iOS 6(iPad)兼容.我需要使用javascript进行本地数据库访问.这是一个纯粹的脱机ap,不涉及服务器端.
我的困境是 -
W3C不再支持WebSQL.
IndexedDB适用于Firefox,但不适用于iOS6.
最重要的是,我希望避免HTML5本地数据库存储,因为它会在清除历史记录时清除数据.
我希望在应用程序本地有一个持久的数据库,比如SQLite.是否可以使用纯JavaScript访问SQLite,以便它可以在Windows上以及iPad上使用Firefox.
编辑:该应用程序将不会从iPad(iOS6)中的浏览器运行.而是将应用程序打包到ipa文件中并安装在iPad设备中.
谷歌搜索解决方案后,我的应用程序在执行数据库操作时遇到困难,建议我使用AsyncTask,以免主线程被阻塞.
我创建了单独的类和扩展的SQLiteOpenHelper并实现了"OnCreate"和"OnUpgrade"方法.但是为了实现AsyncTask,我需要扩展"AsyncTask".现在我的问题是我已经扩展了一个类,我不能为同一个类扩展另一个类.
我的代码是这样的.
import android.content.Context;
import android.database.Cursor;
import android.database.DatabaseErrorHandler;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import android.widget.Toast;
import com.example.project.R;
public class Database extends SQLiteOpenHelper{
static final String dbname="Project";
static final int dbversion=1;
TableA r=new TableA();
SQLiteDatabase db;
private Context Context;
public Database(Context context) {
super(context, dbname, null, dbversion);
try{
db=getWritableDatabase();
// TODO Auto-generated constructor stub
if (db.isOpen()){
System.out.println("Database is opened");
}
else{
System.out.println("Database is not opened");
}
}
catch(Exception e){
Log.e(dbname, e.getMessage());
}
}
@Override
public void onCreate(SQLiteDatabase …Run Code Online (Sandbox Code Playgroud) 我工作node-webkit,Sequelize和sqlite3.Node运行应用程序没有任何问题,但是当我从node-webkit运行它时,它会抛出这个错误
"Uncaught Error: The dialect sqlite is not supported. (Error: Please install sqlite3 package manually)", source: /Users/mariowise/projects/node-webkit/requies-pos/node_modules/sequelize/lib/sequelize.js (176)
Run Code Online (Sandbox Code Playgroud)
这是我的依赖
"dependencies": {
"express": "~4.2.0",
"static-favicon": "~1.0.0",
"morgan": "~1.0.0",
"cookie-parser": "~1.0.1",
"body-parser": "~1.0.0",
"debug": "~0.7.4",
"jade": "~1.3.0",
"nunjucks": "^1.0.5",
"sqlite3": "~2.1.19",
"config": "0.4.33",
"sequelize": "~2.0.0-rc1",
"sequelize-sqlite": "~1.7.0"
}
Run Code Online (Sandbox Code Playgroud) 我从NuGet安装了System.Data.SQLite Core(x86/x64).它建立时没有任何警告,但投掷System.DllNotFoundException了SQLite.Interop.dll.我操纵我的项目将SQLite.Interop.dllNuGet包的目录下的副本复制到输出目录,现在它运行没有异常.
为什么NuGet包没有配置我的项目将相应的interop dll放在输出目录中?似乎它应该能够做到这一点.
我是interop的新手,我继承了这个以前System.Data.SQLite.dll直接由path 引用的代码库.我转而使用NuGet来摆脱有关项目处理器架构与之间不匹配的警告System.Data.SQLite.我正在尝试将所有项目构建为AnyCPU.
:memory:当使用特殊URI打开数据库时,SQLite支持数据库的"共享缓存" (根据sqlite.org):
[T]他可以通过两个或多个数据库连接打开相同的内存数据库,如下所示:
rc = sqlite3_open("file::memory:?cache=shared",&db);
我可以通过利用这个在Python 3.4 URI参数为sqlite3.connect():
sqlite3.connect('file::memory:?cache=shared', uri=True)
Run Code Online (Sandbox Code Playgroud)
但是,我似乎无法为SQLAlchemy工作:
engine = sqlalchemy.create_engine('sqlite:///:memory:?cache=shared')
engine.connect()
...
TypeError: 'cache' is an invalid keyword argument for this function
Run Code Online (Sandbox Code Playgroud)
有没有办法让SQLAlchemy使用共享缓存?
编辑:
在Python 3.4上,我可以使用creator参数create_engine来解决问题,但问题仍然存在于其他Python版本中:
creator = lambda: sqlite3.connect('file::memory:?cache=shared', uri=True)
engine = sqlalchemy.create_engine('sqlite://', creator=creator)
engine.connect()
Run Code Online (Sandbox Code Playgroud) 我想在VS2017中使用EF6连接sqlite.我安装了"System.Data.SQLite"nuget包.我还从http://system.data.sqlite.org安装了"sqlite-netFx46-setup-bundle-x86-2015-1.0.104.0.exe" ,但在添加ADO.NET数据实体时我看不到sqlite提供程序.
我错过了什么吗?或以上包不支持VS2017(它说是VS2015)
sqlite ×10
android ×3
.net ×1
c# ×1
deployment ×1
gem ×1
heroku ×1
html5 ×1
interop ×1
javascript ×1
node-webkit ×1
node.js ×1
pdo ×1
php ×1
python ×1
sequelize.js ×1
sqlalchemy ×1