我不明白索引是什么或在SQLite中做什么.(不是SQL)我认为它允许以升级和降序排序并更快地访问数据.但我只是在这里猜测.
我正在尝试编写一个简单的Python脚本,将.odt文档插入到SQLite数据库中.这是我到目前为止所做的,但它似乎不起作用:
f=open('Loremipsum.odt', 'rb')
k=f.read()
f.close()
cursor.execute="INSERT INTO notes (note) VALUES ('%s')" %(sqlite.Binary(k))
cursor.close()
conn.close()
Run Code Online (Sandbox Code Playgroud)
我没有收到任何错误消息,但据我所知,记录未插入.我究竟做错了什么?另外,如何将存储的文档提取回来?谢谢!
我有两个表,列数可变.(我不知道有多少列或有什么名称)例如表A和表B.
表A:
ID | B_ID | {variable}
Run Code Online (Sandbox Code Playgroud)
表B
ID | {variable}
Run Code Online (Sandbox Code Playgroud)
查询:
SELECT TableA.*, TableB.* FROM TableA INNER JOIN TableB ON TableA.B_ID= TableB.id;
Run Code Online (Sandbox Code Playgroud)
当TableA和TableB都具有相同名称的列时,我无法区分两个不同的列.例如,两个表都有"Name"列,此查询将导致:
ID | ID | B_ID | NAME | NAME |
1 | 35 | 35 | bob | jim |
Run Code Online (Sandbox Code Playgroud)
我正在寻找的是一种区分两个表的方法.优选地具有列名称的优选,例如.
TableA_ID | TableB_ID | TableA_B_ID | TableA_NAME | TableB_NAME |
1 | 35 | 35 | bob | jim |
Run Code Online (Sandbox Code Playgroud)
我知道"AS"关键字,但问题是我不知道列名将是什么.(我不知道TableA或TableB是否会有列Name)
所以我的问题是
当表可能具有相同的列名时,如何使用INNER JOIN区分两个表之间的列?
我正在使用SQLite3.
我将使用FOpen,FRead,FWrite,FSeek和FClose为Netburner嵌入式设备(非Windows)实现自定义VFS(虚拟文件系统).我很惊讶我找不到可用的VFS的FOpen*版本.这将使嵌入式设备的便携性更高.
我在http://sqlite.org/c3ref/vfs.html上找到了有关为SQLite创建VFS的一些信息, 但信息非常详细,我还有很多关于实现的问题.
我在Winite,OS2,Linux的SQLite源代码中有一些示例VFS,但它们没有很多注释,只有源代码.
我可以使用上面链接中提供的信息和示例来创建我的自定义VFS,但我确信如果我这样做,我会错过一些东西.
我的问题是:
我收到一个错误,Logcat说某个列(在我的SQLiteOpenHelper子类中)不存在.我以为我可以通过更改DATABASE_CREATE字符串来升级数据库.但显然不是,那么我如何(逐步)将我的SQLite数据库从版本1升级到版本2?
如果问题看起来像"noobish",我很抱歉,但我仍然在学习Android.
@ Pentium10这是我在onUpgrade中所做的:
private static final int DATABASE_VERSION = 1;
....
switch (upgradeVersion) {
case 1:
db.execSQL("ALTER TABLE task ADD body TEXT");
upgradeVersion = 2;
break;
}
...
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用现有的SQLite数据库部署应用程序.
我已经阅读并试图在线实现几个示例,但是我发现它们总是缺少一些代码,要么不编译或按照宣传的方式工作.
有没有人有一个完整的Android数据库助手类用于在Android上部署现有的SQLite数据库?
尝试谷歌搜索"scala"和"sqlite".你没有想出太多东西.人们如何使用Scala与SQLite连接?
我用SQLite创建了一个数据库 - tasks.db.这个数据库有一个表 - 待办事项 - 包含以下字段:id(pk),date(NOW with trigger),项目,duedate,status,description
要从命令行在SQLite中输入新行,我必须写:
sqlite3 tasks.db "insert into todo (project,duedate,status,description) values (2010-11_18,'Home','Urgent','Call the plumber');"
Run Code Online (Sandbox Code Playgroud)
这是一个相当长且容易出错的过程.所以我决定使用shell脚本(bsq)"自动化"它,运行如下:
#!/bin/sh
echo "What project ?"
read Proj
echo "For when ?"
read Due
echo "What status ?"
read Stat
echo "What to do ?"
read Descr
echo sqlite3 tasks.db "insert into todo (project,duedate,status,description) values ('$Proj',$Due,'$Stat','$Descr');"
Run Code Online (Sandbox Code Playgroud)
......当我跑步时没有任何反应:sh bsq.然后出现序列然后将我带回提示符.我哪里出错或者我省略了什么(输入?但我该怎么办?)?
谢谢你的帮助
ThG的长度
我是一个DB菜鸟,所以请和我好心.
我有一些问题通过点击gem将我的SQLite DB推送到Heroku.与他们交谈,他们告诉我其中一个解决方案可能是将我的数据库从SQLite转换为PostgreSQL.有一个简单的方法吗?
谢谢
更多信息: - 来自Rails应用程序的数据库 - 我在Mac OS X上 - 刚刚通过macports安装了PostgreSQL
我想使用游标从sqlite数据库中显示imageview中的图像.我使用下面的代码来检索图像,但我无法在imageview中显示图像.
Cursor c=this.db.query(TABLE_NAME, new String[] { "name","price","image" },
null, null, null, null, null);
name.setText(c.getString(0));
price.setText(c.getString(1));
byte b[]=c.getBlob(2);
Bitmap bp=BitmapFactory.decodeByteArray(b, 0, b.length);
ImageView image=(ImageView)findViewById(R.id.ImageView);
//ByteArrayInputStream imageStream = new ByteArrayInputStream(b);
//Bitmap theImage = BitmapFactory.decodeStream(imageStream);
//image.setImageBitmap(theImage);
image.setImageBitmap(bp);
Run Code Online (Sandbox Code Playgroud)
除图像外,将显示名称和价格,但不显示图像.任何可以帮助我解决这个问题的建议或代码.
请帮我.
提前致谢..