我有一个通过express连接的SQLite数据库,并且有使用express路由连接前端和后端的控制器。
表数据库
return knex.schema.createTable('stocks', (table) => {
table.string('ticker')
table.date('date')
table.integer('open')
table.integer('close')
table.integer('high')
table.integer('last')
table.integer('volume')
})
.then(() => {
console.log('Table \'stocks\' created')
})
.catch((error) => {
console.error(`There was an error creating table: ${error}`)
})
}
})
.then(() => {
// Log success message
console.log('Ayree')
})
.catch((error) => {
console.error(`There was an error setting up the database: ${error}`)
})
Knex插入行
exports.booksCreate = async (req, res) => {
// Add new book to database
knex('stocks')
.insert({ // insert new record, a book
"ticker": req.body.ticker,
'date': req.body.date,
'open': req.body.open,
'close': req.body.close,
'high': req.body.high,
'last': req.body.last,
'volume': req.body.volume,
})
.then(() => {
// Send a success message in response
res.json({ message: ` \'${req.body.ticker}\' added at ${req.body.date} created.` })
})
.catch(err => {
// Send a error message in response
res.json({ message: `There was an error creating ${req.body.ticker} ${err}` })
})
}
反应前端
// Create Bookshelf component
export const Bookshelf = () => {
// Prepare states
const [stock, setStock] = useState([])
const [stockApi, setStockApi] = useState([])
const [loading, setLoading] = useState(true)
// Fetch all books on initial render
useEffect(() => {
getStockData();
handleBookCreate();
}, [])
//StockData
const getStockData = () => {
axios
.get("http://api.marketstack.com/v1/intraday/latest?access_key=72ad8c2f489983f30aaedd0181414b43&symbols=AAPL" )
.then( da => {
setStock(da.data.data[0])
console.log(da.data.data[0])
} )
}
// Create new book
const handleBookCreate = () => {
// Send POST request to 'books/create' endpoint
axios
.post('http://localhost:4001/books/create', {
ticker: stock.symbol,
date: stock.date,
open: stock.open,
close: stock.close,
high: stock.high,
last: stock.last,
volume: stock.volume,
})
.then(res => {
console.log(res.data)
// Fetch all books to refresh
// the books on the bookshelf list
fetchBooks()
})
.catch(error => console.error(`There was an error creating the ${stock} book: ${error}`))
}
这里的问题是在前端,当我使用stock.symbol
时,我得到的值为null,但当我用“text”替换stock.symbol,我得到的值为text。我在这里做错了什么?谢谢!
附注-这是常量存货
close: 115.08
date: "2020-10-09T00:00:00+0000"
exchange: "IEXG"
high: 116.4
last: 114.97
low: 114.5901
open: 116.25
symbol: "AAPL"
volume: 82322071
__proto__: Object
在读了一段时间关于HTTP调用和它们是如何执行的之后。这个解决方案对我有效。
useEffect( () => {
const fetchData = async ( ) => {
const getit = await getStockData(); setStock(getit);
handleBookCreate(getit);
}
fetchData();
}, [])
基本上,在初始renderuseEffect
上,使API调用getStockData()
,并且await将使stocksetStock
钩子的设置在承诺执行后起作用。只有这样,stock
才会包含HandleBookCreate()
向服务器路由器发送POST请求所需的数据,以执行在我的表数据库中插入记录的函数。
我正在使用并尝试插入具有以下函数的mysql数据库: 最后一个带有的控制台输出显示正确,但即使在等待之后也没有发生任何事情 我猜这是函数的异步部分,但同时还能做什么呢? 使用Knex时,是否有标准的方法创建条目? 感谢您的回复!
问题内容: 我将一个广泛的表单插入到SQL数据库中,然后从管理页面中请求所有数据,并将其重新插入到管理页面上的表单中。在最初插入数据库的过程中,此特定的下拉列表(就像其他列表一样)正在插入选定的数据。但是,当我进入数据库时,仅此特定单元格在插入所选值后将获得3到4个空白空间。这会导致布尔比较在尝试重新插入管理员表单时以false做出响应。即(“ Primary” ==“ Primary”)=
是两排这样的
我的数据库代码是这样的。 出现成功保存的消息,但在数据库中找不到该值。请告诉我为什么会这样?
本文向大家介绍为什么我们需要一个数据库,包括了为什么我们需要一个数据库的使用技巧和注意事项,需要的朋友参考一下 数据库是数据的集合,通常以电子形式存储。数据库的设计通常是为了使其易于存储和访问信息。 好的数据库对任何公司或组织都至关重要。这是因为数据库存储了有关公司的所有相关详细信息,例如员工记录,交易记录,工资详细信息等。 数据库重要的各种原因是- 管理大量数据 数据库每天存储和管理大量数据。使
我正在尝试Go语言和gorm,以便在我当前的项目中创建一个新功能。 我在MySQL中有以下数据库结构。 UserMaster表位于层次结构的顶部,它的主键列被许多其他表引用,它们自己将其用作主列。UserLogin表就是这样的表之一。这不是完美的数据库设计,但这是我将要处理的数据库结构,并且不可能更改该结构。 以下是我为go中的UserMaster和UserLogin创建的模型类。 我希望通过go