Får felmeddelandet: Vilken rad får du felet på? Gissar att det är på "int UserID = (int)cmd["ID"];". Ja jag får träff från databasen och den är inte null, om jag gör en Response.Write(cmd["ID"]) så skrivs den ut men när jag försöker lägga den i en variabel fungerar det inte. Vilket är talet? Är det ett giltigt int-tal? Det fungerade med Convert.ToInt32, har ingen aning varför (int) inte fungerade. Talet som returneras är 1.ODBCDataReader problem med att hämta värde från specifik kolumn.
System.InvalidCastException: Specified cast is not valid.
ID i databasen är en integer.
<code> OdbcDataReader cmd = BasePage.SQLSelect("SELECT ID FROM Users WHERE Username='" + Username.Text + "' LIMIT 1");
cmd.Read();
int UserID = (int)cmd["ID"];</code>
<code> public static OdbcDataReader SQLSelect(string sql)
{
DataSet ds = new DataSet();
OdbcConnection con = new OdbcConnection(System.Configuration.ConfigurationManager.AppSettings["ConnectionString"]);
OdbcCommand cmd = new OdbcCommand(sql, con);
con.Open();
OdbcDataReader dr = cmd.ExecuteReader();
return dr;
}</code>Sv: ODBCDataReader problem med att hämta värde från specifik kolumn.
Har du koll på att du får träff från databasen?
Har du koll på att ID-kolumnen inte är null i databasen?
/JohanSv:ODBCDataReader problem med att hämta värde från specifik kolumn.
Skriver jag det uta (int) får jag meddelandet.
Cannot implicitly convert type 'object' to 'int'. An explicit conversion exists (are you missing a cast?)
<code>int UserID = cmd["ID"];</code>Sv: ODBCDataReader problem med att hämta värde från specifik kolumn.
Ett annat sätt att göra samma sak är "int UserID = Convert.ToInt32(cmd["ID"]);", men det borde inte göra någon skillnad...
/JohanSv:ODBCDataReader problem med att hämta värde från specifik kolumn.