私はタイマー用に設定されたグローバル変数 "I"を作成していますが、ユーザーがゲームレベルをプレイして他のユーザーとデータベースにレベル時間を格納しています。これは私がすでに持っているものです。データベースにタイマー値を保存しますか? c#
public static class Global
{
public static int I = 0;
}
^これはタイマーのグローバル変数です。
SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\Adam\Documents\Data2.mdf;Integrated Security=True;Connect Timeout=30");
SqlDataAdapter sad = new SqlDataAdapter("Select Count(*) From Login where Username= '" + txtUsername.Text + "' and Password='" + txtPassword.Text + "'", con);
SqlCommand cmd = new SqlCommand("INSERT INTO HighScore (Username, Score) VALUES(@Username,@Score)", con);
DataTable dt = new DataTable(); //empty table
sad.Fill(dt);
if (dt.Rows[0][0].ToString() == "1")
{
con.Open();
cmd.Parameters.AddWithValue("@USERNAME", txtUsername.Text);
cmd.Parameters.AddWithValue("@Score", Global.I);
}
else // else it will display this error
{
MessageBox.Show("Please enter the correct login details");
}
あなたは私が私のデータベースでハイスコアテーブルにあるGlobal.Iとaddwithvalue @Scoreを取ってみました見ることができるように^^これは、ゲームの終了画面のコードです。 ボタンをクリックすると、データベースに何も書き込まれませんが、試して保存するときにエラーは発生しません。これが混乱しています。 助けていただければ幸いです。
データアダプターなどは非常に時代遅れの技術であることをご存じですか。エンティティフレームワークを使用してください。 – usr
実際の質問について:実際にコマンドを実行していますか?そのコードを掲示し、その行にブレークポイントを置き、その行がヒットしていることを確認してください。 – usr
ナー、その大丈夫。しかし、本当にあなたが書くクエリを実行する必要があります。それはいつも役立ちます。 – Will