Golang C._sqlite3_last_insert_rowid类(方法)实例源码

下面列出了Golang C._sqlite3_last_insert_rowid 类(方法)源码代码实例,从而了解它的用法。

作者:fclairam    项目:dron   
func (c *SQLiteConn) exec(cmd string) (driver.Result, error) {
	pcmd := C.CString(cmd)
	defer C.free(unsafe.Pointer(pcmd))
	rv := C.sqlite3_exec(c.db, pcmd, nil, nil, nil)
	if rv != C.SQLITE_OK {
		return nil, c.lastError()
	}
	return &SQLiteResult{
		int64(C._sqlite3_last_insert_rowid(c.db)),
		int64(C._sqlite3_changes(c.db)),
	}, nil
}

作者:nts    项目:go-sqlite   
// Execute the statement with arguments. Return result object.
func (s *SQLiteStmt) Exec(args []driver.Value) (driver.Result, error) {
	if err := s.bind(args); err != nil {
		return nil, err
	}
	rv := C.sqlite3_step(s.s)
	if rv != C.SQLITE_ROW && rv != C.SQLITE_OK && rv != C.SQLITE_DONE {
		return nil, s.c.lastError()
	}

	res := &SQLiteResult{
		int64(C._sqlite3_last_insert_rowid(s.c.db)),
		int64(C._sqlite3_changes(s.c.db)),
	}
	return res, nil
}

作者:vine    项目:go-db-drive   
// Return last inserted ID.
func (r *SQLiteResult) LastInsertId() (int64, error) {
	return int64(C._sqlite3_last_insert_rowid(r.s.c.db)), nil
}


问题


面经


文章

微信
公众号

扫码关注公众号