如何从数据库中插入带有值的参数。 我有一些字段,我应该从这个数据库+ 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**
答案 0 :(得分:2)
你没有。您使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);
让数据库完成工作。
答案 1 :(得分:0)
您不需要参数,可以尝试以下代码。
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)"