一般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. python3 JSON对象的学习

    import jsonname = { 'alex':[22,'M'], 'tony':[21,'F'],} name_after = json.dumps(name)name_after = nam ...

  2. Web App、Hybrid App、Native APP对比

  3. Atitit. 脚本语言的断点单步调试的设计与实现 attialx 总结 php 参照java

    Atitit. 脚本语言的断点单步调试的设计与实现 attialx 总结 php 参照java 1. 断点的实现:手动断点 die和exit是等价的 1 2. 变量表的实现 1 3. print_r( ...

  4. NEFU 117-素数个数的位数(素数定理)

    题目地址:NEFU 117 题意:给你一个整数N(N<1e9).假设小于10^N的整数中素数的个数为π(N).求π(N)的位数是多少. 思路:题目的数据量非常大,直接求肯定TLE,所以考虑素数定 ...

  5. erlang supervisor中启动普通的进程

    文字部分转自: http://1234n.com/?post/qou3eb supervisor的子进程 一开始使用supervisor的时候,我用的是init/1返回子进程规格列表的方式,并且所有子 ...

  6. Oracle之函数concat、lpad

    一.引言 程序测试需要生成大量的测试数据,且测试数据有主键,主键自增,于是决定用存储过程来实现,经过半天的查资料终于完成了,记录之,学习之 二.存储过程 格式: CREATE PROCEDURE re ...

  7. 自定义Django的admin界面

    第6章介绍了Django的admin界面,现在是回过头来仔细看看这个的时候了 我们前面讲的几次admin是Django的"杀手级特性",并且大多数Django开发人员很快爱上了它节 ...

  8. scrapy-redis源代码分析

    原创文章,链接:http://blog.csdn.net/u012150179/article/details/38226253   +   (I) connection.py 负责依据setting ...

  9. invalid comparison: java.util.ArrayList and java.lang.String——bug解决办法

    今天碰到个问题,解决了很久才搞定,来记录下,希望可以帮助到大家 贴错误源码: 这是一个根据list集合的查找数据的 sql,在接收list的时候加了判断 list != ‘ ’ “”,引起了集合与St ...

  10. Error: EACCES: permission denied, symlink

    环境说明 ganiks@ganiks-ubuntu-trusty-64:/ganiks/parse-server$ npm -v 6.5.0 ganiks@ganiks-ubuntu-trusty-6 ...