jeg har et problem jeg bare ikke kan løse, jeg bliver ved med at få den her fejl og lige meget hvad jeg gør så kan jeg ikke løse den, jeg ved godt det er en del kode at overskue men så mangler der ikke noget,
her er min fejl.
Tabellen 0 blev ikke fundet.
hele stakssporingen
Serverfejl i programmet '/'.
Tabellen 0 blev ikke fundet.
Beskrivelse: Der opstod en undtagelse, der ikke blev behandlet, under udførelse af den aktuelle webanmodning. Se staksporingen for at få flere oplysninger om fejlen, og hvor den kom fra i koden.
Detaljer om undtagelse: System.IndexOutOfRangeException: Tabellen 0 blev ikke fundet.
Kildefejl:
Linje 27: objConn.Close();
Linje 28:
Linje 29: return objDs.Tables[0];
Linje 30:
Linje 31: }
Kildefil: c:\Users\mikk032r\Dropbox\web17 projekt\web17\App_Code\DbAccess.cs Linje: 29
Staksporing:
Kode: Vælg alt
[IndexOutOfRangeException: Tabellen 0 blev ikke fundet.]
System.Data.DataTableCollection.get_Item(Int32 index) +79
DbAccess.GetData(SqlCommand cmd) in c:\Users\mikk032r\Dropbox\web17 projekt\web17\App_Code\DbAccess.cs:29
sliderFac.SletSliderImg() in c:\Users\mikk032r\Dropbox\web17 projekt\web17\App_Code\sliderFac.cs:45
admin_Default.Page_Load(Object sender, EventArgs e) in c:\Users\mikk032r\Dropbox\web17 projekt\web17\admin\Default.aspx.cs:39
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +51
System.Web.UI.Control.OnLoad(EventArgs e) +95
System.Web.UI.Control.LoadRecursive() +59
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +678
Versionsoplysninger: Microsoft .NET Framework version:4.0.30319; ASP.NET version:4.6.1055.0.
[b]Javascript i headeren til mine tabs[/b]
<%-- JS TIL AT HOLDFE DE FORSKELLIGE TABS ÅBNE MED NÅR DER KLIKKES PÅ KNAPPEN GEM --%>
<script type="text/javascript">
$(document).ready(function () {
var tab = document.getElementById('<%= hidTAB.ClientID%>').value;
$('#myTabs a[href="' + tab + '"]').tab('show');
});
</script>
[b]Min html opmærkning[/b]
<%-- HIDDENFIELD --%>
<asp:HiddenField ID="hidTAB" runat="server" Value="#profil" />
<h4>Forsiden</h4>
<p>Rediger forsiden, slider og bokse </p>
<!-- TABS -->
<ul class="nav nav-tabs" role="tablist" id="myTabs">
<li role="presentation" class="active">
<a href="#logo" aria-controls="logo" role="tab" data-toggle="tab">Logo</a>
</li>
<li role="presentation">
<a href="#slider" aria-controls="slider" role="tab" data-toggle="tab">Slider</a>
</li>
</ul>
<!-- TABS INDHOLD -->
<div class="tab-content">
<%-- LOGO --%>
<div role="tabpanel" class="tab-pane active" id="logo">
<h4>Skift logo</h4>
<p>Skift dit logo max størrelse er 500 x 500 px</p>
<div class="col-md-4 col-left-margin">
<asp:Literal ID="litLogo" runat="server" />
<br />
<asp:FileUpload ID="fuLogo" runat="server" />
<br />
<asp:Button ID="btnGemLogo" CssClass="btn btn-default" OnClick="btnGemLogo_Click" runat="server" Text="Opload" />
<br />
<asp:Literal ID="litMsg" runat="server" />
</div>
</div>
<%-- SLIDER --%>
<div role="tabpanel" class="tab-pane" id="slider">
<h4>Opload billeder til slideren</h4>
<p>Billedet størrelse må maks være 1050 x 400px </p>
<div class="col-md-4 col-left-margin">
<asp:Literal ID="Literal1" runat="server" />
<br />
<asp:TextBox ID="txtbilledeTitel" CssClass="form-control" placeholder="Titel på billedet" runat="server" />
<asp:RequiredFieldValidator ID="rfvBilledeTitel" CssClass="error" ControlToValidate="txtbilledeTitel" runat="server" ErrorMessage="Du mangler at udfylde feltet" />
<br />
<asp:FileUpload ID="fuSlider" runat="server" />
<br />
<asp:Button ID="btnSlider" OnClick="btnSlider_Click" CssClass="btn btn-default" runat="server" Text="Opload" />
<br />
<asp:Literal ID="Literal2" runat="server" />
</div>
<%-- Vis de billeder er i slideren --%>
<div class="col-left-margin">
<asp:Literal ID="litVisSliderImg" runat="server" />
</div>
</div>
</div>
[b]Min codebehind.[/b]
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_Default : System.Web.UI.Page
{
forsidenFac objForsiden = new forsidenFac();
beskaerimgFac objBeskaerImg = new beskaerimgFac();
logoFac objLogo = new logoFac();
sliderFac objSlider = new sliderFac();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
#region tjek om tab querystring findes TABS
//TJEK OM DER FINDES EN QUERYSTRING DER HEDDER - tabID -
//HVIS DER GØR SÅ TILFØJ HASHTAG TIL NAVNET I QUERYSTRINGEN
//SÅ BLIVER DET ID PÅ DEN TAB DER SKAL HOLDES ÅBEN.
if (!string.IsNullOrEmpty(Request.QueryString["tabID"]))
{
//TILFØJ HASHTAG TIL QYERYSTRINGEN
hidTAB.Value = "#" + Request.QueryString["tabID"];
}
#endregion
#region Tjek om slette id på billederne i slider findes
if (!string.IsNullOrEmpty(Request.QueryString["imgID"]))
{
objSlider._id = Convert.ToInt32(Request.QueryString["imgID"]);
objSlider.SletSliderImg();
Response.Redirect("default.aspx");
}
#endregion
#region Logo
DataRow DrHentLogo = objForsiden.HentLogo();
litLogo.Text += "<a data-lightbox='logo' href='../img/logo/" + DrHentLogo["fldImg"] + "' ><img src='/img/logo/" + DrHentLogo["fldImg"] + "' class='logo'/></a>";
#endregion
#region Vis slider billeder
litVisSliderImg.Text += "<div class='row'>";
DataTable DtSliderImg = objSlider.SliderImg();
foreach (DataRow drSliderImg in DtSliderImg.Rows)
{
litVisSliderImg.Text += "<div class='col-sm-2 col-md-2'>";
litVisSliderImg.Text += "<div class='thumbnail thumbnail-padding'>";
litVisSliderImg.Text += "<img src='/img/slider/" + drSliderImg["fldImg"] + "' class='backend-vis-slider-img'/>";
litVisSliderImg.Text += "<div class='caption'>";
litVisSliderImg.Text += "<a href='default.aspx?imgID=" + drSliderImg["fldId"] + "' class='btn btn-default btn-slider-slet' role='button'>Rediger</a>";
litVisSliderImg.Text += "</div>";
litVisSliderImg.Text += "</div>";
litVisSliderImg.Text += "</div>";
}
litVisSliderImg.Text += "</div>";
#endregion
}
}
protected void btnGemLogo_Click(object sender, EventArgs e)
{
//Laver en unik nøgler til billedet
string guid = Guid.NewGuid().ToString();
//TJEKKER OM DER LIGGER EN FIL I FILEUPLOAD
if (fuLogo.HasFile)
{
//LAVER EN VARIABEL TIL AT TJEKKE FIL ENDELSE PÅ FILERNE MED
string extension = System.IO.Path.GetExtension(fuLogo.FileName.ToLower());
//TILLADER KUN DE HER FILENDELSER I AT BLIVE OPLOADET
if (extension == ".jpg" || extension == ".png" || extension == ".JPG" || extension == ".jpeg" || extension == ".svg")
{
//Tjek efter det logo der er i forevejen og slet det inden det nye oploades
//TJEK OM DER FINDES ET PROFIL BILLEDE I MAPPEN
DataRow drHentLogo = objLogo.LogoImg();
if (File.Exists(Server.MapPath(@"~\\/img/logo/" + drHentLogo["fldImg"])))
{
//SLET DET BILLEDE SOM ER I FOOREVEJEN I MAPPEN OG NAVNET I DATABASEN
File.Delete(Server.MapPath(@"~\\/img/logo/" + drHentLogo["fldImg"]));
}
//JEG LAVER EN VAIRABEL DER SKAL INDEHOLKDE BILLEDENAVN OG EN GUID
//DET GØR BILLEDETS NAVN UNIK OG KAN DERFOR OPLOADE FLERE AF SAMME BILLEDE
string billedenavn = guid + fuLogo.FileName;
//SKALER BILLEDET SÅ DET IKKE BLIVER STØRREN END 500PX X 500PX
//Opret en midlertidig filsti
string tempFilSti = Server.MapPath("/img/temp/" + billedenavn);
//Lav så en ny filsti som det skal gemmes i.
string NyFilSti = Server.MapPath("/img/logo/" + billedenavn);
//Gem så billede i den nye filsti
fuLogo.SaveAs(tempFilSti);
//Beskær billedet og gem det i den nye filsti
objBeskaerImg.billedeResize(tempFilSti, NyFilSti, 500, 500);
File.Delete(tempFilSti);
//sÅ SKAL DET HELE GEMMES I DATABASEN
objLogo._img = billedenavn;
objLogo.OpdaterSliderImg();
Response.Redirect("Default.aspx");
}
else
{
//HVIS DET ER ET FORKERT FILFORMAT SKAL BRUGEREN HAVE BESKED
litMsg.Text = "<p class='error'>Forkert filformat</p>";
}
}
else
{
//HVIS IKKE DER ER VALGT EN FIL SKAL BRUGEEN HAVE BESKED
litMsg.Text = "<br /><span class='error'>Vælg venligst en fil</span>";
}
}
protected void btnSlider_Click(object sender, EventArgs e)
{
// hidTAB.Value = "#slider" - Id på den tab den skal holde åben
hidTAB.Value = "#slider";
//Laver en unik nøgler til billedet
string guid = Guid.NewGuid().ToString();
//TJEKKER OM DER LIGGER EN FIL I FILEUPLOAD
if (fuSlider.HasFile)
{
//LAVER EN VARIABEL TIL AT TJEKKE FIL ENDELSE PÅ FILERNE MED
string extension = System.IO.Path.GetExtension(fuSlider.FileName.ToLower());
//TILLADER KUN DE HER FILENDELSER I AT BLIVE OPLOADET
if (extension == ".jpg" || extension == ".png" || extension == ".JPG" || extension == ".jpeg" || extension == ".svg")
{
//JEG LAVER EN VAIRABEL DER SKAL INDEHOLKDE BILLEDENAVN OG EN GUID
//DET GØR BILLEDETS NAVN UNIK OG KAN DERFOR OPLOADE FLERE AF SAMME BILLEDE
string billedenavn = guid + fuSlider.FileName;
//SKALER BILLEDET SÅ DET IKKE BLIVER STØRREN END 500PX X 500PX
//Opret en midlertidig filsti
string tempFilSti = Server.MapPath("/img/temp/" + billedenavn);
//Lav så en ny filsti som det skal gemmes i.
string NyFilSti = Server.MapPath("/img/slider/" + billedenavn);
//Gem så billede i den nye filsti
fuSlider.SaveAs(tempFilSti);
//Beskær billedet og gem det i den nye filsti
objBeskaerImg.billedeResize(tempFilSti, NyFilSti, 1050, 400);
File.Delete(tempFilSti);
//sÅ SKAL DET HELE GEMMES I DATABASEN
objSlider._img = billedenavn;
objSlider._text = txtbilledeTitel.Text;
objSlider.NySlider();
Response.Redirect("Default.aspx?tabID=" + "slider" + "");
}
else
{
//HVIS DET ER ET FORKERT FILFORMAT SKAL BRUGEREN HAVE BESKED
litMsg.Text = "<p class='error'>Forkert filformat</p>";
}
}
else
{
//HVIS IKKE DER ER VALGT EN FIL SKAL BRUGEEN HAVE BESKED
litMsg.Text = "<br /><span class='error'>Vælg venligst en fil</span>";
}
}
}