一般golang使用的sqlite驱动包都是github.com/mattn/go-sqlite3,但是官方并没有直接支持windows平台的编译,因为windows平台编译默认需要gcc支持

其实解决办法很简单,只需要在windows平台下安装gcc即可正常使用。

编译错误如下:

go get github.com/mattn/go-sqlite3
# github.com/mattn/go-sqlite3
exec: "gcc": executable file not found in %PATH%

下面说明如何解决:

1. 下载GCC  http://tdm-gcc.tdragon.net/download

2. 安装GCC

3. 打开MinGW Command Prompt 安装sqlite3

go get github.com/mattn/go-sqlite3

4. 安装好就可以测试程序了

package main

import (
"database/sql"
"fmt" _ "github.com/mattn/go-sqlite3"
) func main() {
//1. Open connection db, err := sql.Open("sqlite3", ":memory:")
checkErr(err)
defer db.Close() //2. fail-fast if can't connect to DB checkErr(db.Ping()) //3. create table _, err = db.Exec("create table USER (ID integer PRIMARY KEY, NAME string not null); delete from USER;")
checkErr(err) //4. insert data //4.1 Begin transaction
tx, err := db.Begin()
checkErr(err) //4.2 Prepare insert stmt.
stmt, err := tx.Prepare("insert into USER(ID, NAME) values(?, ?)")
checkErr(err)
defer stmt.Close() for i := ; i < ; i++ {
_, err = stmt.Exec(i, fmt.Sprint("user-", i))
checkErr(err)
} //4.3 Commit transaction
tx.Commit() //5. Query data rows, err := db.Query("select * from USER")
checkErr(err)
defer rows.Close() //5.1 Iterate through result set
for rows.Next() {
var name string
var id int
err := rows.Scan(&id, &name)
checkErr(err)
fmt.Printf("id=%d, name=%s\n", id, name)
} //5.2 check error, if any, that were encountered during iteration
err = rows.Err()
checkErr(err)
} func checkErr(err error, args ...string) {
if err != nil {
fmt.Println("Error")
fmt.Println("%q: %s", err, args)
}
}

Go & SQLite on Windows的更多相关文章

  1. SQLite.Net-PCLUSING SQLITE IN WINDOWS 10 UNIVERSAL APPS

    USING SQLITE IN WINDOWS 10 UNIVERSAL APPS 1.下载SQLite VSIX package并安装 http://sqlite.org/download.html ...

  2. SQLite in Windows Store Apps

    Using SQLite in Windows Store Apps : https://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Using-SQL ...

  3. SQLite 在Windows Server 2008 R2 部署问题FAQ汇总[轉]

    轉自:http://www.steveluo.name/sqlite-windows-server-2008-r2-deploy-faq/ 今天花了一天的时间研究了一下SQLite,以取代一些轻量级项 ...

  4. Sqlite在Windows、Linux 和 Mac OS X 上的安装过程

    一:在 Windows 上安装 SQLite 1,下载 请访问SQLite下载页面http://www.sqlite.org/download.html,从Windows 区下载预编译的二进制文件.需 ...

  5. [Sqlite] --&gt; Sqlite于Windows、Linux 和 Mac OS X 在安装过程

    一个:于 Windows 安装 SQLite  1,下载 请訪问SQLite下载页面http://www.sqlite.org/download.html.从Windows 区下载预编译的二进制文件. ...

  6. Windows Phone 九、SQLite数据库

    使用SQLite数据库 安装 SQLite for Windows Phone 8.1 插件新建 Windows Phone 8.1 项目添加 SQLite for Windows Phone 8.1 ...

  7. How to get SQLite work on windows phone 8

    1.Install SQLite for Windows Phone SDKC:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.0\Exten ...

  8. 在Windows Phone 8.1中使用Sqlite数据库

    前言 我的工作目前不涉及到Windows phone的开发,但是业余时间也开发过几款app.以前由于各种条件的限制,只接触到WP8.0设备的app开发. 最近几个月开始将WP8的应用迁移到WP8.1, ...

  9. Using SQLite database in your Windows 10 apps

    MVP可以在channel 9上传视频了,所以准备做个英文视频传上去分享给大家,本文做稿子. Hello everyone, As we all know, SQLite is a great and ...

随机推荐

  1. Atitit. 衡量项目规模 ----包含的类的数量 .net java类库包含多少类 多少个api方法??

    Atitit. 衡量项目规模 ----包含的类的数量 .net java类库包含多少类 多少个api方法?? 1 framework 4.5 (10万个api)1 2 Jdk8   57M1 3 Gi ...

  2. Oracle 版本号说明

    Oracle 的版本非常多,先看11g的一个版本说明: 注意: 在oracle 9.2 版本号之后, oracle 的maintenance release number 是在第二数字位更改. 而在之 ...

  3. Node.js 配置Nginx

    1.修改nginx.conf upstream nodejs { server 127.0.0.1:3000; #server 127.0.0.1:3001; keepalive 64; } serv ...

  4. Quotations中页面弹出的问题

  5. linux2.4中netfilter_nat_alg机制分析--以FTP流程为例,分析NAT和ALG

    以FTP流程为例,分析NAT和ALG 网络环境: ×5+6=1286) 创建×5+6=1286),更新skb的应用层信息(这里应用层信息还是×5+6=1286) 创建×5+6=1286) 创建×5+6 ...

  6. 用C/C++扩展你的PHP 为你的php增加功能

    英文版下载: PHP 5 Power Programming http://www.jb51.net/books/61020.html PHP取得成功的一个主要原因之一是她拥有大量的可用扩展.web开 ...

  7. python - 判断是否为正小数和正整数

    判断输入的金额是否为正整数和正小数 def check_float(string): #支付时,输入的金额可能是小数,也可能是整数 s = str(string) if s.count('.') == ...

  8. [Bayes] *Bayesian Deep Learning for Transparency Improvement

    为何有必要进修统计机器学习? 因为你没有那么多的数据 因为未知的东西最终还是需理论所解释 基于规则?基于概率? ---- 图灵奖得主.贝叶斯之父 Judea Pearl 谈深度学习局限,想造自由意志机 ...

  9. 第一百三十八节,JavaScript,封装库--插件

    JavaScript,封装库--插件 库主要是用来封装一般JavaScript的常规操作代码,而拖拽这种特效代码属于功能性代码,并不是必须的,所以这种类型的代码,我们建议另外封装,在需要的时候作为插件 ...

  10. VS本地调试oracle报错解决方法

    同事的项目,SVN下载下来以后一直报错,后来确认一下 1本地要安装oracle 2代码用的是64位的,所以本地安装也要64位的oracle 3VS调试用的IIS Express也要是64位的,激活方法 ...