et bestemt felt bliver ikke hentet fra databasen
HejJeg henter forskellige felter ind i en tabel, som jeg så viser med en repeater. Der er dog et felt, den ikke vil hente ind og det er "overskriftlink" De andre felter henter den godt nok. Kan nogen se, hvor jeg laver en fejl?
koderne:
AnjaConnection.cs:
public class AnjaConnection
{
//Ny instans af klassen dbConnection
dbConnection connection = new dbConnection();
public OleDbCommand command = null;
public AnjaConnection()
{
command = connection.command;
}
//Lister Scripts osv fra databasen
public DataTable GetInfo(string name)
{
//sætter datarow til nul
DataRow row = null;
//opretter en instans af Datatable
DataTable myDataTable = new DataTable();
//Tilføjer colonner, der svarer til tabel kolonnerne til datatable
myDataTable.Columns.Add(new DataColumn("ID", Type.GetType("System.String")));
myDataTable.Columns.Add(new DataColumn("kategori", Type.GetType("System.String")));
myDataTable.Columns.Add(new DataColumn("overskriftlink", Type.GetType("System.String")));
myDataTable.Columns.Add(new DataColumn("overskrift", Type.GetType("System.String")));
myDataTable.Columns.Add(new DataColumn("beskrivelse", Type.GetType("System.String")));
myDataTable.Columns.Add(new DataColumn("opbygninglink", Type.GetType("System.String")));
myDataTable.Columns.Add(new DataColumn("opbygning", Type.GetType("System.String")));
//Hvilken select jeg arbejder med
command.CommandText = "SELECT * FROM Oversigt WHERE kategori = @name";
command.Parameters.Clear();
command.Parameters.AddWithValue("@name", name);
OleDbDataReader myReader = command.ExecuteReader();
//går gennem tabellen og lægger ind i rækker
while (myReader.Read())
{
row = myDataTable.NewRow();
try
{
row["ID"] = (myReader["ID"]);
row["kategori"] = (myReader["kategori"]);
row["overskriftlink"] = (myReader["overskriftlink"]);
row["overskrift"] = (myReader["overskrift"]);
row["beskrivelse"] = (myReader["beskrivelse"]);
row["opbygninglink"] = (myReader["opbygninglink"]);
row["opbygning"] = (myReader["opbygning"]);
}
catch
{ }
//Tilføjer rækken til datatable
myDataTable.Rows.Add(row);
}
myReader.Close();
return myDataTable;
}
}
Scripts.aspx.cs
public partial class Scripts_Scripts : System.Web.UI.Page
{
AnjaConnection anjaconnection = new AnjaConnection();
protected void Page_Load(object sender, EventArgs e)
{
//Opretter ny instans af GetInfo fra AnjaConnection
DataTable scriptinfo = anjaconnection.GetInfo("Script");
minRepeater.DataSource = scriptinfo;
minRepeater.DataBind();
}
}
Scripts.aspx:
<itemTemplate>
<tr>
<td style="text-align: left; vertical-align: top;">
<a href="java script:;" onclick=" startVindue('<%# DataBinder.Eval(Container.DataItem, "overskriftlink")%>','<%# DataBinder.Eval(Container.DataItem, "Overskrift")%>','820','650','scrollbars=no')">
<%# DataBinder.Eval(Container.DataItem, "Overskrift")%>
</a>
</td>
<td style="text-align: left; vertical-align: top;">
<%# DataBinder.Eval(Container.DataItem, "Beskrivelse")%>
</td>
</tr>
</itemTemplate>
Kopierer jeg data (startVindue/startVindue.aspx) direkte ind i koden istedet for <%# DataBinder.Eval(Container.DataItem, "overskriftlink")%> på følgende måde:
<a href="java script:;" onclick=" startVindue('startVindue/startVindue.aspx','<%# DataBinder.Eval(Container.DataItem, "Overskrift")%>','820','650','scrollbars=no')">
får jeg det korrekte vindue op. Jeg ved med sikkerhed at teksten i tabellen er den korrekte, da jeg i ovennævnte test, har copy/pastet fra databasen for at undgå der måske er en skrivefejl et sted.
mvh
simsen