问题描述
如果数据库中不存在它要查找的内容,我希望代码执行某些操作。这就是我目前正在使用的:
const string cs = @"Data Source= ..\..\..\database.sqlite3";
await using var con = new SQLiteConnection(cs);
con.Open();
await using var cmd = new SQLiteCommand(con);
member ??= ctx.Member;
cmd.CommandText = @"SELECT iq FROM users WHERE id = $user_id";
cmd.Parameters.AddWithValue("$user_id",member.Id);
var r = cmd.ExecuteReader();
while (r.Read())
{
if (r["iq"] == null)
{
var random = new Random();
var iq = random.Next(1,200);
await cmd.DisposeAsync();
cmd.CommandText = "INSERT INTO users(id,iq) VALUES($member_id,$id)";
cmd.Parameters.AddWithValue("$iq",iq);
cmd.Parameters.AddWithValue("$member_id",member.Id);
cmd.ExecuteNonQuery();
var embed = new DiscordEmbedBuilder
{
Title = $"IQ of {member.Username} is {iq} :brain:",Color = DiscordColor.Cyan
};
await ctx.Channel.SendMessageAsync(embed);
}
else
{
var iqFinal = r["iq"];
var embed = new DiscordEmbedBuilder
{
Title = $"IQ of {member.Username} is {iqFinal} :brain:",Color = DiscordColor.Cyan
};
await ctx.Channel.SendMessageAsync(embed);
}
}
我真的不知道如何做到这一点,我尝试了 try catch
块,但它们似乎也不起作用。我该怎么做?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)