icaaqMedlem sedan okt. 20005 273 inlägg Tjenare, jag har denna kod....
OleDbConnection con = new OleDbConnection(ConfigurationManager.ConnectionStrings["floorball"].ConnectionString);
string sql = "SELECT pk_id FROM tbl_week WHERE pk_id="+txtDate.SelectedValue;
OleDbCommand cmd = new OleDbCommand(sql, con);
cmd.Connection.Open();
OleDbDataReader dr = cmd2.ExecuteReader(CommandBehavior.CloseConnection);
if(dr2.HasRows){
[b]Response.Write(dr2[0]);[/b]
}
Men jag får "System.InvalidOperationException: No data exists for the row/column." på den feta raden. Någon som har ett snabbt svar?
Jag har testat Sql:en och jag får ut data av den....
mv icaaq
ZaimanMedlem sedan dec. 20014 239 inlägg Har för mig att man måste "läsa in" raden först, innan du kan skriva ut den.
dr.Read();
icaaqMedlem sedan okt. 20005 273 inlägg Tack, det var ett tag sedan jag höll på med detta..
mv icaaq
GladhMedlem sedan maj 20012 812 inlägg
icaaq skrev:
if(dr2.HasRows){
Response.Write(dr2[0]);
Om du använder dig av dr2.Read() så behöver du inte använda dig av HasRows eftersom Read returnerer true om det finns något att läsa, och false om inget finns.
if(dr2.Read()){
Response.Write(dr2[0]);
}
Sedan så är det väldigt ANTI-.NET att använda sig av Response.Write i ASP.NET, du skall istället ha en Label som du sätter värdet till.
Dessutom om du bara skall ha ut ett enda värde från databasen så är det lite overkill att använda ExecuteReader, så fall är det bättre med ExecuteScalare, som kommer att returnera ditt pk_id som ett object till dig.
OleDbConnection con = new OleDbConnection(ConfigurationManager.ConnectionStrings["floorball"].ConnectionString);
string sql = "SELECT pk_id FROM tbl_week WHERE pk_id="+txtDate.SelectedValue;
OleDbCommand cmd = new OleDbCommand(sql, con);
try{
cmd.Connection.Open();
object pkID = cmd2.ExecuteScalare();
lblMyPKID.Text = pkID.ToString();
}finally{
cmd.Connection.Close();
}
}
TravoniMedlem sedan okt. 20041 556 inlägg ... det heter ExecuteScalar och inget annat. ;)
freguzMedlem sedan feb. 2005280 inlägg Redigerat med anledning av webForums regler §4.
Synpunkter angående detta beslut, ta kontakt med Zaiman alternativt forumledare@webforum.nu.
Zaiman
Moderator, webForum