我想从 sqllite Db 中选择一些数据。现在我面临一个问题。我给出了一个原始查询如下:
String MY_QUERY0 = "select * from logs where log_name=\""+log_name.replace("'","\'")+"\"";
Run Code Online (Sandbox Code Playgroud)
这可以帮助我避免应用程序在出现类似数据时崩溃
名字的
从数据库中提取。但现在我必须用双引号解决同样的情况。数据如
“数据”
任何人都可以帮助.. 提前致谢。
我正在浏览Martin Eve为 Android提供的Mendeley的源代码,看到通过使用 _id 在表上调用替换,临时表与主表一起创建。例如在 Collections 表上
db.execSQL(COLLECTIONS_CREATE.replace(" (_id", "_TEMP (_id"));
Run Code Online (Sandbox Code Playgroud)
我猜它会创建一个新的临时表。对此有更多解释会很棒。此外,数据首先插入临时表,然后移至主表。
我搜索了 SO 并遇到了 SQL 数据库系统中临时表的用例是什么?并看到临时表用于处理复杂的查询、排序和提高性能。谁能解释一下在这种情况下它是如何帮助的?
如何通过小型内存数据库更新大型永久数据库?我有一个应用程序,它有一个很大的永久数据库(在硬盘上)和小的内存数据库(在 RAM 中)。在我的应用程序运行时内存数据库被填满,并在运行结束时更新永久数据库。
有谁知道我怎么能做到这一点?
我用谷歌搜索了几次,但找不到我要找的东西。Android 为每条短信分配一个 id。我想知道这个 ID 是否总是唯一的?我可以依靠它来识别短信还是应该自己分配?
谢谢 :)
我使用SQLiteOpenHelper从资产读取数据库。它适用于除android p以外的所有android版本。
这是我的copyDataBase函数:
private static void copyDataBase() throws IOException {
InputStream myInput = myContext.getAssets().open(DB_NAME);
String outFileName = DB_PATH + DB_NAME;
OutputStream myOutput = new FileOutputStream(outFileName);
byte[] buffer = new byte[1024];
int length;
while ((length = myInput.read(buffer))>0){
myOutput.write(buffer, 0, length);
}
myOutput.flush();
myOutput.close();
myInput.close();
SharedPreferences shData = myContext.getSharedPreferences("data", 0);
SharedPreferences.Editor editor = shData.edit();
editor.putBoolean("databaseIsOnMemory", true);
editor.commit();
}
Run Code Online (Sandbox Code Playgroud)
我在这个函数中放了一个日志,它确实通过了它。但我收到此错误:
android.database.sqlite.SQLiteException: no such table: irancell (code 1 SQLITE_ERROR)
Run Code Online (Sandbox Code Playgroud)
这就是我如何获取数据:
c = myDataBase.query(true, Table_Name, new String[] {IDData,TextData},
null,null,null,null,null, null);
c.moveToFirst();
int i = 1; …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个表单并在单击提交按钮时将数据保存到数据库.但是数据没有保存到数据库中.我没有得到任何错误.我是django 1.11.我提到了一些stackoverflow问题,答案并没有解决我的问题.有人可以帮忙解决它吗?提前致谢.
model.py
from __future__ import unicode_literals
from django.db import models
class NameForm(models.Model):
your_name = models.CharField(max_length=200)
Run Code Online (Sandbox Code Playgroud)
views.py
from __future__ import unicode_literals
from django.shortcuts import render
from django.http import HttpResponseRedirect, HttpResponse
from django.views import generic
from django.template.response import TemplateResponse
from home.models import NameForm
from .forms import NameForm
class NameView(generic.View):
model_class = NameForm
initial = {'key': 'value'}
template_name = 'home/name.html'
def get(self, request, *args, **kwargs):
model = self.model_class()
return render(request, self.template_name, {'model': NameForm})
def post(self, request, *args, **kwargs):
if request.method == 'POST': …Run Code Online (Sandbox Code Playgroud) 我正在制作图书馆管理软件.我有一个获取书籍信息的方法:
public static Book GetInfoAboutBook(string title)
{
using (SqliteConnection db = new SqliteConnection("Filename=" + fileName))
{
db.Open();
Book b = new Book();
SqliteCommand sqliteCommand = new SqliteCommand
{
Connection = db,
CommandText = "select Title, Author, Publisher, ISBN, Quantity, CoverImageLocation, Tags from MyBooks where Title = '@Title'",
};
sqliteCommand.Parameters.AddWithValue("@Title", title);
SqliteDataReader query = sqliteCommand.ExecuteReader();
if(query.Read())
{
b.Title = query.GetString(0);
b.Author = query.GetString(1);
b.Publisher = query.GetString(2);
b.Quantity = query.GetInt32(3);
b.CoverImageLocation = query.GetString(4);
b.Tags = query.GetString(5);
}
return b;
}
}
Run Code Online (Sandbox Code Playgroud)
无论输入是什么,'b'都不会被初始化.我确保所有输入实际上都存在于数据库中.但它不起作用.我调试了这个函数.query.Read()永远不会成功.这就是书对象保持为空的方式.这是Book类: …
我sqlite用这种形式写了句子:
String SQL_CREATE_BACKUP ="CREATE TABLE " +smsEntry.BACKUP +"("
+smsEntry._ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+smsEntry.BACKUP_LAST_MODE +" INTEGER NOT NULL,"
+smsEntry.BACKUP_CURRENT_MODE +" INTEGER NOT NULL,"
+smsEntry.BACKUP_LAST_TYPE +" INTEGER NOT NULL,"
+smsEntry.BACKUP_CURRENT_TYPE +" INTEGER NOT NULL,"
+smsEntry.BACKUP_MILLI_DATE +" LONG NOT NULL,"
+smsEntry.BACKUP_CURRENT_DATE + " TEXT NOT NULL);";
db.execSQL(SQL_CREATE_BACKUP);
Run Code Online (Sandbox Code Playgroud)
但是,当我想运行此代码时,我收到此错误消息:
<column definition name> or <table constraint>expected,got 'current_date'
Run Code Online (Sandbox Code Playgroud)
我该如何修复这个错误?
Thankes.
当我运行命令:airflow list_users时,它引发了如下错误:
sqlite3.OperationalError: no such table: ab_permission_view_role
...
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table:
ab_permission_view_role [SQL: 'SELECT ab_permission_view_role.id AS
ab_permission_view_role_id, ab_permission_view_role.permission_view_id AS ab_permission_view_role_permission_view_id, ab_permission_view_role.role_id AS
ab_permission_view_role_role_id \nFROM ab_permission_view_role JOIN
ab_permission_view ON ab_permission_view.id =
ab_permission_view_role.permission_view_id JOIN ab_view_menu ON ab_view_menu.id = ab_permission_view.view_menu_id \nWHERE ab_permission_view_role.role_id = ?
AND ab_permission_view.view_menu_id != ?'] [parameters: (4, 51)] (Background on
this error at: http://sqlalche.me/e/e3q8)
Run Code Online (Sandbox Code Playgroud)
运行后也有相同的错误:airflow create_user
当Xamarin.Forms项目中出现页面时,我有一个AppearingCommand调用,该页面最终执行以下sqlite-net-pcl行:(我已经有一种应对加载时间的机制)
AppearingCommand = new Command( async() => {
//...
var data = await db.Table<PlantCategory>().ToListAsync();
//...
}
Run Code Online (Sandbox Code Playgroud)
我想将此方法移到构造函数中,但我不能这样做,因为如果同步执行它会挂起:
ctor() {
//...
var data = db.Table<PlantCategory>().ToListAsync().Result;
//...
}
Run Code Online (Sandbox Code Playgroud)
该行永远不会返回(我猜是由于死锁或其他原因)。如果要在构造函数中执行此行,我还有什么其他选择?