Problem med Sqlce(SQL compact edition) i C#
Försöker lära mig använda sql i C#. Tänkte eftersom jag bara ska använda databasen för att exprimentera så borde det räcka med sqlce som följer med C#. Dock har jag fått problem när jag ska försöka läsa ut en tabell från databasen. Har inga problem att lägga in data i databasen. Ser att datan finns i databasen.
När jag ska göra reader.Read() så verkar inte c# kunna hantera det ser meddelande i reader:
- HasRows '(reader).HasRows' threw an exception of type 'System.InvalidOperationException' bool {System.InvalidOperationException}
+ base {"SQL Server Compact does not support calls to HasRows property if the underlying cursor is not scrollable." System.SystemException {System.InvalidOperationException}
Försökte med:
cmd.ExecuteResultSet(ResultSetOptions.Scrollable); ]
men verkar inte som det hjälpte. Någon som kan se något uppenbart fel? Eller någon annan lösning som jag skulle kunna använda mig av med sqlce?
class Database
{
// Retrieve the connection string from the settings file.
string conString = Properties.Settings.Default.MyDatabaseConnectionString;
SqlCeConnection conn;
private Random random = new Random();
private QuestionCard[] dictionary;
private QuestionCard currentQuestion { get; set; }
public Database()
{
// Open the connection using the connection string.
using ( conn = new SqlCeConnection( conString ) )
{
try
{
conn.Open();
}
catch (Exception ex)
{
MessageBox.Show("Error has occured: " + ex.Message, "ERROR");
}
try
{
int i = 0;
string select = "SELECT word1, word2, Comment, CorrectAnswers FROM dictionary";
SqlCeCommand cmd = new SqlCeCommand(select, conn);
cmd.ExecuteResultSet(ResultSetOptions.Scrollable);
SqlCeDataReader reader = cmd.ExecuteReader();
while( reader.Read())
{
dictionary[i] = new QuestionCard( reader[0].ToString(), reader[1].ToString(), reader[2].ToString(), 0 );
i++;
}
}
catch (Exception ex)
{
MessageBox.Show("Error has occured: " + ex.Message, "ERROR");
}
}
}
}