所以我有一個正在為一個計算機科學項目開發(fā)的機器人,但我的 kick 命令不起作用。我試過注釋掉更新 SQL 和 ReplyAsync 行,但它不會踢用戶。我是否為用戶使用了錯誤的數(shù)據(jù)類型?public class Kick : ModuleBase<SocketCommandContext> { OleDbConnection con; OleDbDataAdapter da; [Command("kick")] [RequireUserPermission(GuildPermission.KickMembers)] [RequireBotPermission(GuildPermission.KickMembers)] public async Task KickUser(IGuildUser user, string reason = "No reason provided") { con = new OleDbConnection(); con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=BotDB.accdb"; da = new OleDbDataAdapter(); con.Open(); da.InsertCommand = new OleDbCommand($"UPDATE UserData SET NumKick = NumKick + 1 WHERE UserID = '{Convert.ToString(user.Id)}'"); da.InsertCommand.ExecuteNonQuery(); con.Close(); await ReplyAsync($"{user.Nickname} was kicked from the server for '{reason}'"); await user.KickAsync(reason); } }
1 回答

POPMUISE
TA貢獻1765條經(jīng)驗 獲得超5個贊
我設法修復它,由于字符串原因,我不得不刪除默認值,并且在 InsertCommand 區(qū)域中,我忘記在 SQL 之后聲明 OleDbConnection。
- 1 回答
- 0 關注
- 156 瀏覽
添加回答
舉報
0/150
提交
取消