易截截图软件、单文件、免安装、纯绿色、仅160KB

SQLITE速度评测

SQLite 作为一个轻量级嵌入式数据库,还是非常好用的。雨痕极力推荐~~~~~~ 
今天有个朋友测试 SQLite,然后得出的结论是:SQLite 效率太低,批量插入1000条记录,居然耗时 2 分钟!
下面是他发给我的测试代码。我晕~~~~~~ 
using System.Data;
using System.Data.Common;
using System.Data.SQLite;
// 创建数据库文件
File.Delete("test1.db3");
SQLiteConnection.CreateFile("test1.db3");
DbProviderFactory factory = SQLiteFactory.Instance;
using (DbConnection conn = factory.CreateConnection())
{
  // 连接数据库
  conn.ConnectionString = "Data Source=test1.db3";
  conn.Open();
  // 创建数据表
  string sql = "create table [test1] ([id] INTEGER PRIMARY KEY, [s] TEXT COLLATE NOCASE)";
  DbCommand cmd = conn.CreateCommand();
  cmd.Connection = conn;
  cmd.CommandText = sql;
  cmd.ExecuteNonQuery();
  // 添加参数
  cmd.Parameters.Add(cmd.CreateParameter());
  
  // 开始计时
  Stopwatch watch = new Stopwatch();
  watch.Start();
  
  // 连续插入1000条记录
  for (int i = 0; i < 1000; i++)
  {
    cmd.CommandText = "insert into [test1] ([s]) values (?)";
    cmd.Parameters[0].Value = i.ToString();
    cmd.ExecuteNonQuery();
  }
  // 停止计时
  watch.Stop();
  Console.WriteLine(watch.Elapsed);
}
哎~~~~ 一个常识性的错误,我加几行代码 (新增代码标记 "// <-------------------")。
using System.Data;
using System.Data.Common;
using System.Data.SQLite;
// 创建数据库文件
File.Delete("test1.db3");
SQLiteConnection.CreateFile("test1.db3");
DbProviderFactory factory = SQLiteFactory.Instance;
using (DbConnection conn = factory.CreateConnection())
{
  // 连接数据库
  conn.ConnectionString = "Data Source=test1.db3";
  conn.Open();
 


相关文档:

SQLite on BlackBerry 完美支持中文

在SQLite on BlackBerry上,JDBC访问数据库,缺省是以UTF-8保存数据到数据库里面的,每个中文通常是3个字节保存到数据库上面的。
  
例子代码参考:
BlackBerry sample - SQLiteDemo。
注意:在插入中文的时候,请使用Statement.bind指令,在我的测试中,可以很好的保存中文数据。读取的时候只需要使用Result ......

QT读写Sqlite数据库 FurtherChan

QT读写Sqlite数据库
//.h
/****************************************************************************
**
** Date    : 2010-05-08
** Author  : furtherchan
** If you have any questions , please contact me
**
****************************************************************** ......

sqlite触发器一例

int column_names_printed = 0;
void print_row(int n_values, char** values)
{
    int i;
    for (i = 0; i < n_values; ++i) {
        printf("%10s", values[i]);
    }
    printf("\n& ......

android 的sqlite 主键与simpleCursorAdapter

android 的sqlite 主键与simpleCursorAdapter
最近在在做一个小例子时,出现一个小问题,就是不能显示从数据库中查出的数据,后来在网上查了一查,才知道原来是这个问题。 
 在使用simpleCursorAdapter显示sqlite数据时,必须注意sqlite的主键命名。由于simpleCursorAdapter的方法只识别_id,所以,当你用到sql ......

Sqlite在C#中的应用

在 .NET 里面使用 SQLite, 我这里使用的wrapper是 System.Data.SQLite,它只需要一个dll,接口符合ADO.Net 2.0的定义,性能也不错,NHibernate用的也是它,目前支持ADO.NET 3.5了,支持集成在 VS2005 和 VS2008里面,而且支持wince,是个亮点
因为符合ADO.NET的规范,所以使用方式,基本和 SqlClient, OleDb等原生的一致
us ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号