Go & SQLite on Windows

一般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 := 0; i < 10; 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)
    }
}

原文地址:https://www.cnblogs.com/davygeek/p/8563565.html

时间: 03-13

Go & SQLite on Windows的相关文章

Windows UWP应用使用本地Sqlite和远程Sql(一)

贫猿注册博客园有三年多了,第一次写博客,版式尽量控制的简单点. 本系列文章是简单的记录一下<账簿>本身所运用到的操作本地sqlite和远程sql的代码和结构. 首先的准备工作 安装Sqlite for UWP扩展 从菜单栏找到工具-扩展和更新.在搜索框填写sqlite,在结果里找到“sqlite for Universal App Platform”并安装它. 新建一个8.1的windows 应用,并添加sqlite for windows runtime(8.1)的支持.这时会自动生成SQL

windows 上使用SQLite

下载地址: SQLite for windows 解压放到某个目录比如: cd到相应目录: sqlite 文件名 便进入了

Windows Phone 九、SQLite数据库

使用SQLite数据库 安装 SQLite for Windows Phone 8.1 插件新建 Windows Phone 8.1 项目添加 SQLite for Windows Phone 8.1 引用由于该组件依赖于 Microsoft Visual C++ 2013 Runtime Package for Windows Phone,所以同时引用 Microsoft Visual C++ 2013 Runtime Package for Windows Phone右键管理 Nuget 包

SQLite连接C#笔记

不得不吐槽,实在是太坑了.以下几点一定要注意: 要下载两个东西,都要上官网.一个是SQLite for Windows,一个是System.Data.SQLite. 下载下来的DLL里面有个test,一定要用它测试完了才行.上面的连接字符串格式就是正确的格式.注意路径要用这种格式. <?xml version="1.0"?> <configuration> <startup><supportedRuntime version="v2.

[转]Learn SQLite in 1 hour

转载说明: 1.原文地址:http://www.askyb.com/sqlite/learn-sqlite-in-1-hour/ 2.译文地址:http://www.oschina.net/question/12_53183(红薯翻译) 3.英文原文有5处错误,下面的已经修正过了 原文如下: Learn SQLite in 1 hour askyb on May, 9th 2012 in SQLite 1. Introduction SQLite is an open source, embed

The Eighth Assignment

上回说到...sqlite在windows store app与windows phone app的应用... 今天就说说sqlite在wpf的应用吧... 1.应用前的准备 首先..sqlite在wpf开发中并不像上两个应用那样有内置的库...所以只能利用现有的数据库文件来进行数据库操作... 那么首先要建一个数据库文件...于是经过百度后的多番筛选..选择了一个DatabaseNet4这样一个数据库可视化工具.. 支持了很多数据库...我们选择Sqlite 建库.建表.生成的文件放在工程文件

The Seventh Assignment

这周真的是被C#的三次实验整的欲仙欲死...... 尤其是数据库方面.... 那么今天我就来讲一讲有关sqlite在windows store app,windows phone,这两个平台该如何使用吧...(感觉简单的就像X了狗) 1.首先说说windows store app和windows phone吧(自我感觉这两个除了布局需要重新写..其他代码都可以共享 首先..windows是不会自带sqlite的... 所以在用之前要经过下面几个步骤: 1)工具->拓展与更新 点联机,然后在右上搜

sqlite3 简单运用

SQLite 是一个开源的嵌入式关系数据库,实现自包容.零配置.支持事务的SQL数据库引擎. 其特点是高度便携.使用方便.结构紧凑.高效.可靠. 与其他数据库管理系统不同,SQLite 的安装和运行非常简单,在大多数情况下 - 只要确保SQLite的二进制文件存在即可开始创建.连接和使用数据库.如果您正在寻找一个嵌入式数据库项目或解决方案,SQLite是绝对值得考虑.转载http://www.lupaworld.com/article-217676-1.html,原文有些错误,本文已经改正,以后

Install Visual Studio Tools for Apache Cordova

Install Visual Studio Tools for Apache Cordova Visual Studio 2013 This article refers to the Visual Studio Tools for Apache Cordova, which is pre-release software. The features described are in preview and are subject to change. You can download the

Robot Framework中经常用的第三方库的安装方法

pip升级:python -m pip install --upgrade pip 一.安装robotframework-selenium2library,相当于python中的selenium     cmd>pip install robotframework-selenium2library 二.接口测试request    cmd>pip install requests  (支持第二步,否则RF引入RequestsLibrary库会报错)    cmd>pip install