SQL INSERT,参数为查询
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL INSERT,参数为查询相关的知识,希望对你有一定的参考价值。
如何从数据库中插入带有值的参数。我有一些字段,我应该从这个数据库中插入值+ 1(加一)
例如
myCommand.CommandText =
"INSERT INTO GAMES (GAME_NR, GAME_PLAYER_ID, GAME_NRONTABLE, GAME_ROLE_ID) " &
" VALUES (@game_nr, @game_player_id, @game_nrontable, @game_role_id)"
'Example
myCommand.Parameters.Add("@game_nr", SqlDbType.Int).Value = **"(SELECT MAX(GAME_NR) FROM GAMES)" + 1**
答案
您不需要参数,可以尝试以下代码。
myCommand.CommandText =
"INSERT INTO GAMES (GAME_NR, GAME_PLAYER_ID, GAME_NRONTABLE, GAME_ROLE_ID) " &
" VALUES ((SELECT MAX(GAME_NR) + 1 FROM GAMES), @game_player_id, @game_nrontable, @game_role_id)"
但它看起来像是表的主键。如果Game_Nr是pr,你应该使用auto-inc。身份,然后你不需要这个参数。
这将是。
myCommand.CommandText =
"INSERT INTO GAMES (GAME_PLAYER_ID, GAME_NRONTABLE, GAME_ROLE_ID) " &
" VALUES (@game_player_id, @game_nrontable, @game_role_id)"
另一答案
你没有。你制作GAME_NR
和自动递增的主键:
create table games (
game_nr int auto_increment primary key,
. . .
);
然后你做插入:
INSERT INTO GAMES (GAME_PLAYER_ID, GAME_NRONTABLE, GAME_ROLE_ID)
VALUES (@game_player_id, @game_nrontable, @game_role_id);
让数据库完成工作。
以上是关于SQL INSERT,参数为查询的主要内容,如果未能解决你的问题,请参考以下文章
从 Excel VBA 运行工作参数化 Access SQL 查询 (INSERT INTO) 时出现“需要对象”错误