There is no row at position 0
jeg har kikket lidt igennem jeres svar herinde og jeg kan ikke finde en løsning til mit problem som ellers er det samme som mange andre har haft, nemlig - There is no row at position 0, jeg har indhold i databasen og jeg har også tjekket min sql sætninger i databasen og der henter den fint mine brugere efter id, nu har jeg googlet i 2 dage på det problem og jeg fatter ikke hvorfor den bliver ved med at skrive det...Det er i linje 22 fejlen kommer...
tak for i gider kikke på det og hvis der er noget andet i mangler for at hvorfor jeg får en fejl siger i bare til...
min codebehind:
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class admin_RedigerAnsat : System.Web.UI.Page
{
frisoerenFac objFrisoer = new frisoerenFac();
protected void Page_Load(object sender, EventArgs e)
{
Page.Title = "Rediger ansat";
//1) Da jeg kun skal hente en ansat af gangen skal jeg bruge denne her kode istedetfor en foreach loop
if (!IsPostBack)
{
DataRow _DrHentAnsat = objFrisoer.hentAnsat(txtFornavn.Text, Convert.ToInt32(Request.QueryString["AnsatteID"])).Rows[0];
//2) Her fylder jeg feltet txtFornavn med den ansat der skal redigeres...
txtFornavn.Text = _DrHentAnsat["fldBrugernavn"].ToString();
}
}
protected void btnRediger_Click(object sender, EventArgs e)
{
int _id = Convert.ToInt32(Request.QueryString["AnsatteID"]);
//3) Hent den nuværende data på ansatte fra databasen og put det i en datatable
objFrisoer._id = _id;
DataTable _RedigerAnsat = objFrisoer.RedigerAnsat();
//4) Put nuværende imagenavn i en variabel - så det efterfølgene kan overskrives med noget nyt - hvis admin har puttet nyt image i imageuploader...
string billedenavn = _RedigerAnsat.Rows[0]["fldImg"].ToString();//Det nuværende imagenavn i databasen...
//5) Denm her måde at spørge på er mere sigger end txtFornavn.Text != ""
if (String.IsNullOrEmpty(txtFornavn.Text))
{
//Tjekker om der ligger en fil i fileupload
if (fuImgRediger.HasFile)
{
//her laver jeg en variabel som skal indeholde filnavnet på filen....
string extension = System.IO.Path.GetExtension(fuImgRediger.FileName);
//Tjekker om det er det rigtige filformat...
if (extension == ".jpg" || extension == ".png" || extension == ".gif" || extension == ".jpeg")
{
//her sletter jeg først det gamle billede før jeg oploader et nyt
//6 )Tjek først om filen/image findes - for hvis den ikke gør så får man en fejl når man forsøger at slette en fil som ikke er der
if (File.Exists(Server.MapPath(@"~\\img/frisoeren/" + _RedigerAnsat.Rows[0]["fldImg"])))
{
//Den her sletter billedet fra mappen på serveren
File.Delete(Server.MapPath(@"~\\img/frisoeren/" + _RedigerAnsat.Rows[0]["fldImg"]));
}
//7) Her bruger jeg min guid variabel
string guid = Guid.NewGuid().ToString();
//8) her overskriver jeg det gamle billede
billedenavn = guid + fuImgRediger.FileName;
//9) her gemmer jeg billedet efter det er valgt i file upload
fuImgRediger.SaveAs(Request.PhysicalApplicationPath + @"img/frisoeren/" + billedenavn);
//10 ) Her opdateres hele pivtøjet på siden og i databasen...
objFrisoer.opdaterAnsat(Convert.ToInt32(Request.QueryString["AnsatteID"]), txtFornavn.Text, billedenavn);
}
else
{
//her er hvad den vil sige hvis filen ikke indeholde et billede format
litRedigerAnsat.Text = "Forkert filformat";
}
}
}
}
}
Her er metoden jeg bruger
public DataTable hentAnsat(string _brugernavn, int _id)
{
cmd = new SqlCommand("SELECT fldId, fldBrugernavn FROM tblPersonale WHERE fldId=@id");
cmd.Parameters.AddWithValue("@brugernavn", _brugernavn);
cmd.Parameters.AddWithValue("@id", _id);
return DA.GetData(cmd);
}