私が言ったように、ユーザー名がヌルでないか、または空であることをレジスタでチェックします。
C#ユーザー名がヌルでないか、空でないか、または既に取得されていないかを確認してください。
私は、コードを修正する助けてください、問題がどこかにここにある:
static void Register() {
Console.WriteLine("What will be your username?");
while (string.IsNullOrEmpty(name) && IsUsernameAlreadyTaken(name)==false)
{
name = Console.ReadLine();
if (IsUsernameAlreadyTaken(name))
{
Console.WriteLine("That's already taken");
}
if (string.IsNullOrEmpty(name))
{
Console.WriteLine("Why?");
}
}
}
今
私はプログラムにすでに名前を付けた場合:
static bool IsUsernameAlreadyTaken(string name)//Username Checker
{
SqlDataAdapter sda = new SqlDataAdapter("SELECT count(*) FROM Login WHERE Nev='" + name + "'", Con);
sda.Fill(dt);
if (dt.Rows[0][0].ToString() == "1") return true;
else return false;
}
またはこのwhileループで
データベースに存在していて、それは既に取られているとは言えません。
"問題はここまたはここにある" - まあ、それは?デバッガでこれを実行すると、どのように具体的に期待通りのものになりますか? – David
論理/構文の問題を並べ替えると、新しい問題が発生します。それが行われていないことを確認したにもかかわらず、追加しようとする前に解決する可能性があります。だから、ディスクなどにファイルを作成するときと同じように、これを行う通常の方法は、レコードを作成し、それが動作するかどうかを調べることです。それが動作すれば、それは取られませんでした。それがうまくいかなければ、それは取られた。これは、データベース自体が重複するユーザ名をチェックすることを必要とする。すなわち、それはdbのキーである。 –
そして静的なbool IsUsernameAlreadyTakenを使ってデータベースでチェックしていますか、間違っていますか? @AndersForsgren –