我正在尝试将数据插入 SQLite 数据库,为此我编写了一个简单的方法来插入我从 API 获取的数据,如下所示:
public static ContentValues gameInfoToContentValues(@NonNull GameInfoList game) {
ContentValues values = new ContentValues();
values.put(GameEntry.COLUMN_GAME_ID, game.id());
values.put(GameEntry.COLUMN_GAME_ALIASES, game.aliases());
values.put(GameEntry.COLUMN_GAME_API_DETAIL_URL, game.api_detail_url());
values.put(GameEntry.COLUMN_GAME_DATE_ADDED, game.date_added());
values.put(GameEntry.COLUMN_GAME_DATE_LAST_UPDATED, game.date_last_updated());
values.put(GameEntry.COLUMN_GAME_SMALL_IMAGE, game.image().small_url());
values.put(GameEntry.COLUMN_GAME_MEDIUM_IMAGE, game.image().medium_url());
values.put(GameEntry.COLUMN_GAME_HD_IMAGE, game.image().super_url());
values.put(GameEntry.COLUMN_GAME_NAME, game.name());
values.put(GameEntry.COLUMN_GAME_ORIGINAL_RELEASE_DATE, game.original_game_rating());
return values;
}
Run Code Online (Sandbox Code Playgroud)
我得到最后
game.original_game_rating();
Run Code Online (Sandbox Code Playgroud)
这是正确的,因为它是一个对象列表。
我在方法中作为参数传递的名为“GameInfoList”的对象类如下所示:
public abstract long id();
@Nullable
public abstract String aliases();
@Nullable
public abstract String api_detail_url();
@Nullable
public abstract String date_added();
@Nullable
public abstract String date_last_updated();
@Nullable
public abstract GameImages image();
@Nullable
public abstract String name();
@Nullable
public …Run Code Online (Sandbox Code Playgroud) 我需要选择包含整个单词的行,而不是子字符串。例如从这些行:
我只需要得到第一个(包含单词good),但是通过我的 sql 查询,我得到了两个。
select *
from my_tab
where my_column like '%good%'
Run Code Online (Sandbox Code Playgroud)
请注意,我需要在 sqlite 中使用它,其中并非所有常用的 sql 函数都可用。
当我尝试运行我的 UWP 项目时出现以下错误:
MvvmCross.Platform.Exceptions.MvxIoCResolveException: '在创建 DebtBuddy.Core.Repositories.AccountRepository 时无法解析类型为 IMvxSqliteConnectionFactory 的参数工厂的参数'
我的 android 项目运行没有问题。以下是我的存储库类。
public class AccountRepository : IAccountRepository
{
private readonly SQLiteConnection _connection;
public AccountRepository(IMvxSqliteConnectionFactory factory)
{
_connection = factory.GetConnection("Account.db");
_connection.CreateTable<Account>();
}
public async Task<List<Account>> GetAllAccounts()
{
return await Task.FromResult(_connection.Table<Account>().ToList());
}
public async Task Insert(Account account)
{
await Task.Run(() => _connection.Insert(account));
}
public async void Update(Account account)
{
await Task.FromResult(_connection.Update(account));
}
public async void Delete(int id)
{
await Task.FromResult(_connection.Delete(id));
}
}
Run Code Online (Sandbox Code Playgroud) 我编写了一个简单的 Django 问答论坛应用程序并将其部署在 Heroku 上。该站点的本地版本运行良好。但是,生产版本不会存储超过几个小时的问题、答案等。
我决定坚持使用 Django 附带的 sqlite3。我不希望网站有很多流量,所以我决定现在保留开发数据库是值得的。
网站:http : //immense-plateau-35286.herokuapp.com
我已经在 Heroku 上的 DB 设置页面尝试了一些解决方案,但到目前为止还没有取得任何成功。
知道这可能是什么吗?
问题是,当我运行我的代码时,应用程序因错误而停止(java.lang.RuntimeException: Unable to start activity ComponentInfo{com.twixt.pranav.pos/com.twixt.pranav.pos.View.Activity.Cart }: java.lang.NullPointerException: Attempt to invoke virtual method 'java.io.File android.content.Context.getDatabasePath(java.lang.String)' on a null object reference) 在你可以看到我插入的代码中手动一个数据
我见过类似的问题,但没有解决方案
这是我的课
class FragmentCart : Fragment() {
private val database: SQLiteHelper = SQLiteHelper(activity)
override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View {
val mView = inflater!!.inflate(R.layout.fragment_cart, container, false)
if (database != null) {
val array_list = database.cartdatas()
Toast.makeText(activity, "" , Toast.LENGTH_SHORT).show()
}
return mView
}
Run Code Online (Sandbox Code Playgroud)
Sqlite 辅助类
public class SQLiteHelper extends SQLiteOpenHelper {
private static final int DATABASE_VERSION …Run Code Online (Sandbox Code Playgroud) 我遇到了如何将我的sqlite3数据库中的所有记录输出到tkinter treeview.It 中的问题。它只输出中的最后一条记录,db并且记录也没有出现在为其指定的列中。该print方法将所有db记录打印到我的终端,但不输出treeview小部件的所有记录。
欢迎您提出建议以实现这一目标
from tkinter import ttk
import tkinter as tk
import sqlite3
def connect():
conn = sqlite3.connect("TRIAL.db")
cur = conn.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS profile(id INTEGER PRIMARY KEY,
First TEXT, Surname TEXT)")
conn.commit()
conn.close()
def View():
conn = sqlite3.connect("TRIAL.db")
cur = conn.cursor()
cur.execute("SELECT * FROM profile")
rows = cur.fetchall()
for row in rows:
print(row) # it print all records in the database
tree.insert("", tk.END, values=row) …Run Code Online (Sandbox Code Playgroud) 在名称“SQLite”中,“L”具有双重作用,很聪明。但它不可避免地导致了应该如何发音的问题。以下哪一个是正确的发音?
开发团队使用和/或推广的官方发音是什么?
我正在尝试将 UUID 值插入到 sqlite3 数据库中
INSERT INTO user (user_id,username, email) VALUES (uuid.UUID('7005d0e0-f25b-45f9-897d-bae151fddaff'),'user', 'user@gmail.com')
Run Code Online (Sandbox Code Playgroud)
我将 UUID 值作为自定义数据类型“GUID”存储在数据库中。对于此转换,我使用 sqlite3 转换器作为
sqlite3.register_converter('GUID', lambda b: uuid.UUID(bytes_le=b))
Run Code Online (Sandbox Code Playgroud)
此查询的问题,查询执行失败,因为:
sqlite3.OperationalError: near "(": syntax error
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?我想将 UUID 值存储到数据库中。
尝试在 Netbeans 中从 Java 对 SQLite 文件执行插入(或选择)操作时出现上述错误。我已经从 SQLite 数据库浏览器手动创建了 db 文件并将其放入源包中。下面是代码和日志:
public void DBInsertServerConfig(ServerConfig serverconfig) throws SQLException {
Connection conn = DBConnect();
Statement statement = null;
conn.setAutoCommit(false);
statement = conn.createStatement();
String sql = "INSERT INTO serverconfig(ip,port,db_name,db_user,password,fcm_server_key) " +
"VALUES (?,?,?,?,?,?)"; //
try{
PreparedStatement pstm = conn.prepareStatement(sql);
pstm.setString(1,serverconfig.getIp());
pstm.setString(2,serverconfig.getPort());
pstm.setString(3,serverconfig.getDb_name());
pstm.setString(4,serverconfig.getDb_user());
pstm.setString(5,serverconfig.getPassword());
pstm.setString(6,serverconfig.getFcm_server_key());
//statement.execute(sql);
pstm.executeUpdate();
statement.close();
conn.commit();
conn.close();
Run Code Online (Sandbox Code Playgroud)
数据库已正确打开,但似乎没有找到该表,尽管它存在。
compile:run:
Opened database successfully
org.sqlite.SQLiteException: [SQLITE_ERROR] SQL error or missing database (no such table: serverconfig)
BUILD SUCCESSFUL (total time: 9 seconds)
Run Code Online (Sandbox Code Playgroud)
附件是来自 …
我已经为此工作了几个小时,但我似乎无法弄清楚如何将日期保存到我的 Room Sqllite 数据库中。我基本上是从 Android 文档中复制代码来进行批量处理。
这就是我所拥有的。
数据库:
@Database(entities = {Review.class},
version = 3,
exportSchema=false)
@TypeConverters(DateTypeConverter.class)
public abstract class NotecardDatabase extends RoomDatabase {
...etc...
}
Run Code Online (Sandbox Code Playgroud)
实体:
@Entity(tableName = "review",
indices = {
@Index(value = "next_review"),
}
public class Review {
...Other columns...
@TypeConverters(DateTypeConverter.class)
@ColumnInfo(name ="next_review")
@NonNull
private Date nextReview;
}
Run Code Online (Sandbox Code Playgroud)
接下来,我的转换器:
public class DateTypeConverter {
private static Logger log = Logger.getLogger("DateTypeConverter");
@TypeConverter
public static Date fromTimestamp(Long value) {
if(value != null) {
log.info("Incoming long: " + value + "\nTo Date: …Run Code Online (Sandbox Code Playgroud)