文章标签 ‘新手教程’

这篇文章主要介绍如何安装和新建sqlite数据库,所有的内容都是本人亲身体验的,也是根据本人的理解写的,如果有不妥之处,还请各位指教!

安装:

官方网站下载最新的sqlite版本,当前版本为:3.6.17

官方网站: http://www.sqlite.org/

下载地址为: http://www.sqlite.org/download.html

官方的下载页面提供了很多版本的下载…这里介绍一下;

Source Code: 源代码版本的下载

Documentation:  相关文档

Precompiled Binaries for Linux / Precompiled Binaries For Mac OS X /

Precompiled Binaries For Windows

Linux/Mac/Win版本的预编译版本

如果你只是数据库的用户那么下载已经编译好的版本即可! 这里我是Win用户,下载的文件为: sqlite3.exe

将这个文件放到一个目录中,这样就完成了全部的sqlite数据库的安装!

新建:

在命令提示符下($为shell提示号), 测试的sqlite3.exe路径为e:\sqlite3\sqlite3.exe

网上也提供了很多方法,但好象都有点问题,经过摸索结论为以下几种方法,但不确定是否受操作系统系统影响!

生成数据库文件后挂接
$> sqlite3.exe test.db ;

$> sqlite3.exe test.db

直接挂接生成

$> sqlite3.exe test.db

$> ;

选择性挂接 挑选已经存在的数据文件挂接
$> sqlite3.exe test.db 或者

$> sqlite3.exe e:\sqlite3\test.db

挂接好数据库后,就可以通过命令行的形式对所挂接的数据库操作了!

2009年9月6日20:03 | 没有评论
分类: 后端开发

PersonalCrm V1.0 小型的客户资料记录/回访记录系统 项目中,应用到了Sqlite,这里也是我第一次使用这样轻量级的数据库,以后的几篇文章将重点介绍Sqlite.

网上摘录的Sqlite的特色:

① 软件属于公共财(public domain),SQLite可说是某种「美德软件」(virtueware),作者本人放弃着作权,而给使用SQLite的人以下的「祝福」(blessing):
May you do good and not evil. 愿你行善莫行恶
May you find forgiveness for yourself and forgive others. 愿你原谅自己宽恕他人
May you share freely, never taking more than you give. 愿你宽心与人分享,索取不多于你所施予
② 支援大多数的SQL指令.
③ 一个档案就是一个数据库。不需要安装数据库服务器软件.
④ 完整的Unicode支援(因此没有跨语系的问题).
⑤ 速度很快.

喜欢上面的几句英语,感觉国外的技术牛人确实有种博大的胸襟!

简介:

SQLite 是 D. Richard Hipp 用 C 语言编写的开源嵌入式数据库引擎。它是完全独立的,不具有外部依赖性。它是作为 PHP V4.3 中的一个选项引入的,构建在 PHP V5 中。SQLite 支持多数 SQL92 标准,可以在所有主要的操作系统上运行,并且支持大多数计算机语言。SQLite 还非常健壮。其创建者保守地估计 SQLite 可以处理每天负担多达 100,00 次点击率的 Web 站点,并且 SQLite 有时候可以处理 10 倍于上述数字的负载。
SQLite 对 SQL92 标准的支持包括索引、限制、触发和查看。SQLite 不支持外键限制,但支持原子的、一致的、独立和持久 (ACID) 的事务
这意味着事务是原子的,因为它们要么完全执行,要么根本不执行。事务也是一致的,因为在不一致的状态中,该数据库从未被保留。事务还是独立的,所以,如果在同一时间在同一数据库上有两个执行操作的事务,那么这两个事务是互不干扰的。而且事务是持久性的,所以,该数据库能够在崩溃和断电时幸免于难,不会丢失数据或损坏。
SQLite 通过数据库级上的独占性和共享锁定来实现独立事务处理。这意味着当多个进程和线程可以在同一时间从同一数据库读取数据,但只有一个可以写入数据。在某个进程或线程向数据库执行写入操作之前,必须获得独占锁定。在发出独占锁定后,其他的读或写操作将不会再发生。
嵌入式数据库的名称来自其独特的运行模式。这种数据库嵌入到了应用程序进程中,消除了与客户机服务器配置相关的开销。嵌入式数据库实际上是轻量级的,在运行时,它们需要较少的内存。它们是使用精简代码编写的,对于嵌入式设备,其速度更快,效果更理想。嵌入式运行模式允许嵌入式数据库通过 SQL 来轻松管理应用程序数据,而不依靠原始的文本文件。嵌入式数据库还提供零配置运行模式,这样可以启用其中一个并运行一个快照。
要知道,SQLite 的数据库权限只依赖于文件系统,没有用户帐户的概念。SQLite 有数据库级锁定,没有网络服务器,并且可以实现多数 SQL92 标准(但不是全部)。SQL92 标准的其他一些主要功能是外键和检查限制。

2009年9月6日17:22 | 2 条评论
分类: 后端开发

由于对datagridview不是太熟悉,绑定值的方法还不熟悉,所以用了一种迂回的方法:

datagridview的名称为: dgvList

其中,第一列为checkbox,第二列为ID(主键),但设置第二列为隐藏列:

Me.dgvList.Columns(1).Visible = False

取值的时候,可以通过其他事件触发:

我在这里建立了一个私有方法,来判断是否选中的为某一列,如果只选中一列的话,返回主键ID值:

Private Function IsClickOne() As Integer

        Dim blnReturn As Integer = 0

        Try
            Dim i As Integer = 0
            Dim j As Integer = 0
            Dim k As Integer = 0

            For i = 0 To Me.dgvList.RowCount – 1
                If Me.dgvList.Rows(i).Cells(0).EditedFormattedValue.ToString() = "True" Then
                    j = j + 1
                    k = Me.dgvList.Rows(i).Cells(1).EditedFormattedValue.ToString()
                End If
            Next

            If j = 1 Then
                blnReturn = k
            End If

        Catch ex As Exception
            MFunction.WriteErrLog(ex.Message) [方法]写错误信息到文本 
        End Try

        Return blnReturn

    End Function

EditedFormattedValue: 获取改变后的值!

2009年8月24日18:48 | 没有评论
分类: 后端开发

为了实现,单击任意一个单元格能选中所在行的checkbox,再次点击会取消选中,那么需要对datagridview进行设置:

ReadOnly = True
SelectionMode = FullRowSelect
MultiSelect = False

然后在事件: dgvList_CellClick 编写代码如下:(datagridview名为dgvList)

If e.RowIndex > -1 Then
     Me.dgvList.Rows(e.RowIndex).Cells(0).Value = Not Me.dgvList.Rows(e.RowIndex).Cells(0).Value
End If

这个方法可以选中很多行的checkbox!当然前提是datagridview的第0列为checkbox列!

2009年8月24日18:17 | 没有评论
分类: 后端开发

子窗体为: PassHashModify.vb

父窗体为: MyForm.vb

(1) PassHashModify.vb

可以通过 Me.DialogResult 返回相关信息给父窗体 MyForm.vb

例如:

Me.DialogResult = Windows.Forms.DialogResult.OK

(2) MyForm.vb

父窗体中代码:

Dim xForm As New PassHashModify()
xForm.ShowDialog()

If xForm.DialogResult = Forms.DialogResult.OK Then
MsgBox("更新密码成功,下次请使用新密码登陆!")
End If

这样就完成了一个简单的修改密码功能!

2009年8月20日23:24 | 1 条评论
分类: 后端开发
第 1 页,共 2 页12