私はゲームを作ろうとしています。このゲームにはデータベースが含まれています。ここに私のコードの一部です:SQLの検索条件としてmax(id)を使用するにはどうすればよいですか?
string ConnectionString = @"Data Source =" + Application.StartupPath + @"\mydb.sdf";
SqlCeConnection con = new SqlCeConnection(@"Data Source="Application.StartupPath + @"\mydb.sdf");
var sql= @"SELECT Points FROM Userrecords WHERE ID = (SELECT MAX(ID) FROM Userrecords) AND Username = @UserName ";
SqlCeCommand cmd = new SqlCeCommand(sql, con);
cmd.Parameters.Add("@UserName", LoginInfo.UserID);
con.Open();
var ob = cmd.ExecuteScalar();
// Pointlbl.Text = (string)cmd.ExecuteScalar();
//cmd.ExecuteNonQuery();
con.Close();
問題は、私は適切にそのSELECTクエリを形成する方法がわからないということですので、コードは常にこの行にNULL例外をスロー終わる:var ob = cmd.ExecuteScalar();
型「System.Data.SqlServerCe.SqlCeException」の未処理の例外は、選択クエリを形成するための最も正しい方法は何System.Data.SqlServerCe.dll
で発生しましたか?
正確な例外は何ですか?スタックトレースとメッセージを確認できますか? –
System.Data.SqlServerCe.dllで 'System.Data.SqlServerCe.SqlCeException'型の未処理の例外が発生しました。これは例外です.obの値にカーソルを置くと、値はNULLと表示されます。 –
はい、.sdfファイルが実行可能ファイルと同じフォルダにあることを確信しています。 –