标签: sqlite

如何使用 TFDSQLiteValidate 在控制台应用程序中验证 SQLite DB

我们能够在 TForm 中使用验证,并且工作得非常好,但现在我们必须从仅控制台应用程序验证/分析 SQLite DB。请分享 XE7+ 中工作的详细示例。

这是一个可以做到这一点的函数

  try
      goodsqlitedb:=true;
      //Check if Db is closed and not in use
      if(FDSqliteQuery1.Active) then
      begin
            FDSqliteQuery1.Close;
            updatelog('logfilename.txt', 'Closed Query');
      end
      else
          updatelog('logfilename.txt', 'Query Already Closed');

      FDSqliteConn.Close;
      updatelog('logfilename.txt', 'Connection Closed');

      //FDSqliteConn.Open;
      FDPhysSQLiteDriverLink2:=TFDPhysSQLiteDriverLink.Create(nil);
      FDSQLiteValidate2:=TFDSQLiteValidate.Create(nil);
      FDPhysDriverService:=TFDPhysDriverService.Create(nil);
      FDSQLiteSec2:=TFDSQLiteSecurity.Create(nil);
      FDSQLiteSec2.DriverLink:=FDPhysSQLiteDriverLink2;
      FDSQLiteValidate2.DriverLink:=FDPhysSQLiteDriverLink2;

      //FDSQLiteValidate2.OnProgress(FDPhysDriverService,DBMessage);

      with FDSQLiteValidate2 do
      begin
            updatelog('logfilename.txt', 'To Start the Validation');
            Database := dbfile;
            Analyze;
            updatelog('logfilename.txt', 'Database To be Analyzed');
            if not CheckOnly then
                Result:='1' //Database has problems
            else
                Result:='0'; //Database is good
      end;
  except
  on E: Exception …
Run Code Online (Sandbox Code Playgroud)

delphi sqlite dll firedac

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

如何在 SQLite 中插入日期?

我有这个错误:

无法解析方法“put(java.lang.String, java.util.Date)”

在下面的代码中: 在此输入图像描述

lsdnsd是数据类型为 DATE 的列名。

public void onCreate(SQLiteDatabase db)
{
    String query="CREATE TABLE"+c_tablename+"(c_id int AUTO_INCREMENT primary key,name varchar(20),contact double ,address varchar(50)," +
            "bike_number varchar(16),bike_type varchar(10),lsd date,nsd date,lwd varchar(100),cost int,message varchar(100))";
    db.execSQL(query);

}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
    String query= "DROP TABLE IF EXIST "+c_tablename;
    String query2="DROP TABLE IF EXIST "+h_tablename;
    db.execSQL(query);
    db.execSQL(query2);

    onCreate(db);
}

public void  saveData(String name , int contact , String address , String bike_number , String bike_type …
Run Code Online (Sandbox Code Playgroud)

sqlite android android-sqlite

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

Azure 中 Sqlite 的正确连接字符串变量是什么?

尝试将 Azure 上的 Sqlite 数据库与默认的 dotnet core 示例应用程序一起使用,并进行身份验证和授权。在我的本地计算机上,它将数据库放在/Users/me/Projects/myProj/bin/Debug/netcoreapp1.0/myProj.db- 并且我的appsettings.json包含以下内容:

"ConnectionStrings": {
    "DefaultConnection": "Data Source=myProj.db"
Run Code Online (Sandbox Code Playgroud)

因此,现在当我在没有 appsettings.json 的情况下上传到 azure 时,我必须在 azure 的“应用程序设置”->“连接字符串”部分中配置连接。我遇到的部分问题是,当我git push从本地主机到天蓝色时,数据库的位置发生了变化。它被移动到d:\home\site\wwwroot. 我知道我必须更改连接字符串,但是我对我认为应该表明的各种更改失败了 - 我是否包含“数据源”部分?或者...我需要报价吗?我看到一篇相关的帖子,在对问题的评论中给出了一个有趣的答案,但这没有用。

将其输入到天蓝色的连接字符串部分的正确方法是什么? Azure 连接字符串条目

sqlite azure .net-core

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

什么更好?几个较小的数据库或一个大的数据库

我正在做学习外语单词的应用程序,所以我将这些单词存储在我的数据库中。例如,这些单词分为3 个难度级别。每个级别都由一些单词组组成,这些组引入了 SQLite 数据库的表。我使用SQLiteOpenHelper作为应用程序和数据库之间的通信。

现在我的问题。什么是更好的?

  • 创建3 个较小的数据库,每个数据库对应每个级别并使用自己的 SQLiteOpenHelper,因此将 3 个数据库与 3 个开放帮助程序结合在一起。
  • 创建1 个大型数据库,其中有 3 个级别,这意味着很多表,但只有 1 个 SQLiteOpenHelper。

感谢您的任何建议或意见。

sqlite android database-design

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

SQLite + Python:如何使用 SELECT 和 UNION 的参数?

我想将多个 SELECT 结果合并到一个语句中。

我在 SO 上搜索但没有找到答案。但我发现了一个类似的:sqlite merge select all from multiple columns

上面的问题和我的不同之处在于我的语句中有参数。

Hier是我的代码...

cur.execute('''
SELECT * FROM Table1 WHERE ColA = ? 
UNION
SELECT * FROM Table1 WHERE ColB = ? 
UNION
SELECT * FROM Table1 WHERE ColC = ?
(ValueA, ValueB, ValueC,)''')
Run Code Online (Sandbox Code Playgroud)

ValueA、ValueB、ValueC 是参数。

但它没有奏效。我怎样才能更改代码?谢谢!

python sqlite

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

Swift sqlite 如何在一个字符串中运行多个查询(插入、更新等)

我正在 swift 中使用 sqlite3 库,尝试运行多个用分号分隔的插入语句,如下所示:

INSERT INTO PARAMS VALUES ('t1', 'r1');INSERT INTO PARAMS VALUES ('t2', 'r2');...;...;
Run Code Online (Sandbox Code Playgroud)

我目前拥有的代码是:

let multiQueries= "INSERT INTO PARAMS VALUES ('t1', 'r1');INSERT INTO PARAMS VALUES ('t2', 'r2');"
var queryStatement: OpaquePointer? = nil
if sqlite3_prepare_v2(dbPointer, multiQueries, -1, &queryStatement, nil) == SQLITE_OK {
    if sqlite3_step(queryStatement) != SQLITE_DONE {
        print("Cannot execute query")
    }else{
        print("ok")
    }
} else {
    print("Queries could not be prepared")
}
Run Code Online (Sandbox Code Playgroud)

但只执行第一个查询。我尝试像执行 select 语句一样执行多个 sqlite3_step,但第二次调用它时,它返回错误代码 21。

sqlite swift

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

从字符串 SQL 的末尾删除新行

我有一个名为 Players 的数据库表,有近 400 行。我在DB Browser for SQLite下使用sqlite

我的所有文本字段都在字符串末尾添加了“\n”。

前任:

"Louie
"
Run Code Online (Sandbox Code Playgroud)

我尝试使用 RTRIM 来消除空格,但没有成功。

我怎样才能从

"Louie
"
Run Code Online (Sandbox Code Playgroud)

"Louie"
Run Code Online (Sandbox Code Playgroud)

sql sqlite

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

在 SQLite 和 Node.js 中将行插入表

我正在研究 Node.js 的 SQLite。目前我正处于起步阶段。我尝试将行插入表但出现错误。我使用的代码来自教程。

这是代码:

const sqlite3 = require('sqlite3').verbose();
let db = new sqlite3.Database('./database/sq-lite-data-base.db', (err) => {
	if(err) {
		return console.log(err.message);
	}
	console.log("Connected to database!")
});

// Create table named 'users' with two columns: 1 - 'name' which values to be of type "text",
// and "age" of type "integer"
// db.run('CREATE TABLE users(name text, age integer)'); //When this line is not connected I get different error: "The table users already exists"

// Insert two rows to table …
Run Code Online (Sandbox Code Playgroud)

javascript sqlite node.js

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

创建/编辑/删除用户时,Django 管理面板中的外键约束失败。(使用自定义用户模型。)

所以我使用自定义用户模型

    from django.db import models
from django.contrib.auth.models import AbstractBaseUser, BaseUserManager

class UserManager(BaseUserManager):
    def create_user(self, email, full_name, address, number, password=None):
        """
        Creates and saves a User with the given email and password.
        """
        if not email:
            raise ValueError('Users must have an email address')
        if not full_name:
            raise ValueError('Users must have an email address')
        if not address:
            raise ValueError('Users must have an email address')
        if not number:
            raise ValueError('Users must have an email address')
        if not password:
            raise ValueError('Users must have an …
Run Code Online (Sandbox Code Playgroud)

python database sqlite django

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

sqlite3.OperationalError: close "t": 语法错误是什么意思

我正在使用 python 并尝试使用更新行

db=sqlite3.connect('db')
cursor=db.execute('select * from infos where is_processed=0')
films=cursor.fetchall()
cursor.close()
db.close()
for film in films:
    inputLayer=np.array([film[1],film[2],film[3]],dtype=float)
    name=film[0]
    #print inputLayer
    NeuralNetwork3.nn(inputLayer,film[4])
    sql="update infos set is_processed=1 where file_name='"+name+"'"
    db = sqlite3.connect('db')
    db.execute(sql)
    db.commit()
    db.close()
Run Code Online (Sandbox Code Playgroud)

我得到:sqlite3.OperationalError:靠近“t”:语法错误出了什么问题?注意它指向“db.excute(sql)”行并表示该行是错误

python sqlite

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