Avatar billede tanzaweb Nybegynder
15. marts 2004 - 22:38 Der er 5 kommentarer og
1 løsning

The name 'nyhedId' does not exist in the class or namespace

Hej jeg får følgende fejl i linje 68:
The name 'nyhedId' does not exist in the class or namespace 'ASP.nyhed_rediger_temp_aspx'

jeg kan ikke finde fejlen da jeg mener jeg har ramt den rigtig men måske har jeg kigget det forkert sted?

Line 66:     OurConnection = new
Line 67:     SqlConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Inetpub\wwwroot\eHandel\abcd.mdb");
Line 68:     OurCommand = new SqlCommand ("UPDATE nyhed SET nyhedOverskrift = @nyhedOverskrift, nyhedTekst = @nyhedTekst WHERE nyhedId = " + nyhedId, OurConnection);
Line 69:     OurCommand.Parameters.Add("@nyhedOverskrift", SqlDbType.VarChar).Value = nyhedOverskrift.Text;
Line 70:     OurCommand.Parameters.Add("@nyhedTekst", SqlDbType.LongVarChar).Value = nyhedTekst.Text;




Her er koden kan nogen se fejlen:

<%@ Page Language="C#" ContentType="text/html" ResponseEncoding="iso-8859-1" debug="true" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.SqlClient" %>
<% string title; title = "Indsæt nyheder"; %>
<script runat="server">

    void Page_Load()
    {
        if(!IsPostBack)
        {
        LoadData();
        }
    }
   
    void LoadData()
    {
    SqlConnection OurConnection;
    SqlCommand OurCommand;
    SqlDataAdapter OurDataAdapter;
    DataSet OurDataSet = new DataSet();
    OurConnection = new SqlConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Inetpub\wwwroot\eHandel\abcd.mdb");
    OurConnection.Open();
    OurCommand = new SqlCommand ("SELECT * FROM nyhed" ,OurConnection);
    OurDataAdapter = new SqlDataAdapter(OurCommand);
    OurDataAdapter.Fill(OurDataSet, "nyhed");
    OurDataGrid.DataSource=OurDataSet.Tables["nyhed"];
    UpdateNyhederId.DataSource=OurDataSet.Tables["nyhed"];
    DeleteNyhederId.DataSource=OurDataSet.Tables["nyhed"];
    DataBind();
    }
   
    void UpdateSetup(object Sender, EventArgs E)
    {
    UpdateSelect.Visible=false;
    UpdateTextBoxes.Visible=true;
    String SelectedID = UpdateNyhederId.SelectedItem.Value.ToString();
    UpdateButton.CommandArgument = SelectedID;
    SqlConnection OurConnection;
    OurConnection = new SqlConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Inetpub\wwwroot\eHandel\abcd.mdb");
    OurConnection.Open();
    SqlCommand OurCommand;
    SqlDataReader OurDataReader2;
    OurCommand = new SqlCommand("SELECT * FROM nyhed WHERE nyhedId = " + SelectedID ,OurConnection);
    OurDataReader2 = OurCommand.ExecuteReader();
    OurDataReader2.Read();
    UpdateOverskrift.Visible=true;
    UpdateTekst.Visible=true;
    UpdateOverskrift.Text = OurDataReader2["nyhedOverskrift"].ToString();
    UpdateTekst.Text = OurDataReader2["nyhedTekst"].ToString();
    OurConnection.Close();
    OurDataReader2.Close();
    LoadData();
    }
    void UpdateReset(object sender, System.EventArgs e)
    {
    UpdateSelect.Visible=true;
    UpdateTextBoxes.Visible=false;
    LoadData();
    }
   
    void UpDateCommand(object sender, System.Web.UI.WebControls.CommandEventArgs e)
    {
    SqlConnection OurConnection;
    SqlCommand OurCommand;
    string UpdateNyhedID = e.CommandArgument.ToString();
    OurConnection = new
    SqlConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Inetpub\wwwroot\eHandel\abcd.mdb");
    OurCommand = new SqlCommand ("UPDATE nyhed SET nyhedOverskrift = @nyhedOverskrift, nyhedTekst = @nyhedTekst WHERE nyhedId = " + nyhedId, OurConnection);
    OurCommand.Parameters.Add("@nyhedOverskrift", SqlDbType.VarChar).Value = nyhedOverskrift.Text;
    OurCommand.Parameters.Add("@nyhedTekst", SqlDbType.LongVarChar).Value = nyhedTekst.Text;
    OurConnection.Open();
    OurCommand.ExecuteNonQuery();
    OurConnection.Close();
    LoadData();
    }
   
    void DeleteCommand(object sender, System.EventArgs e)
    {
    SqlConnection OurConnection;
    string SelectedID = DeleteNyhedID.SelectedItem.Value;
    SqlCommand OurCommand;
    OurConnection = new
    SqlConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Inetpub\wwwroot\eHandel\abcd.mdb");
    OurCommand = new SqlCommand("DELETE * FROM nyhed WHERE nyhedId = " + SelectedID, OurConnection);
    OurConnection.Open();
    OurCommand.ExecuteNonQuery();
    OurConnection.Close();
    LoadData();
    }
   
</script>
<!-- #INCLUDE FILE="head.aspx" -->
<h3>Rediger nyheder</h3>
<table>
    <tr>
        <td><asp:datagrid ID="OurDataGrid" EnableViewState="false" BorderWidth="1" BackColor="#000000"
            CellPadding="3" CellSpacing="0" Font-Name="Arial" HeaderStyle-BackColor="#AAAAAA" ItemStyle-BackColor="#EEEEEE" runat="server" />
        </td>
        <td>
        <h4>Opdater Nyheder</h4>
        <asp:panel ID="UpdateSelect" runat="server" >
        NyhedsID: <asp:dropdownlist ID="UpdateNyhederId" DataTextField="nyhedId" DataValueField="nyhedId" runat="server" />
        <asp:button runat="server" Text="Vælg nyhed" OnClick="UpdateSetup" />
        </asp:panel>
        <asp:panel ID="UpdateTextBoxes" Visible="false" runat="server">
        Overskrift: <asp:textbox ID="UpdateOverskrift" runat="server" /><br />
        Nyheds Tekst: <asp:textbox ID="UpdateTekst" TextMode="MultiLine" Rows="10" Columns="40" runat="server" /><br />
        <asp:button ID="UpdateButton" onCommand="UpdateCommand" runat="server" Text="Opdater Nyhed" />
        <asp:button ID="CancelUpdateButton" runat="server" OnClick="UpdateReset" Text="Vælg en anden Nyhed" />
        </asp:panel><br />
        <hr style="height:1px" />
        <h4>Slet Nyhed</h4>
        NyhedsID: <asp:dropdownlist ID="DeleteNyhederId" DataTextField="nyhedId" DataValueField="nyhedId" runat="server" />
        <asp:button runat="server" Text="Slet Nyheden" OnClick="DeleteCommand" />       
        </td>
    </tr>
</table>


<!-- #INCLUDE FILE="footer.aspx" -->
Avatar billede arne_v Ekspert
15. marts 2004 - 22:46 #1
Den forsøger bare på ubehjælpeligt EDB engelsk at forklare dig at der ikke
eksisterer en variabel med navn nyhedId der hvor du bruger den.
Avatar billede arne_v Ekspert
15. marts 2004 - 22:48 #2
Jeg er ikke godt til ASP.NET men måske mener du:

    OurCommand = new SqlCommand ("UPDATE nyhed SET nyhedOverskrift = @nyhedOverskrift, nyhedTekst = @nyhedTekst WHERE nyhedId = " + UpdateNyhedID, OurConnection);
Avatar billede tanzaweb Nybegynder
15. marts 2004 - 23:46 #3
den er ok fra arne v send et svar så får du pointene, men kan du hjælpe med dette så:

System.ArgumentException: Keyword not supported: 'provider'.

i linje 21:

Line 19:     SqlDataAdapter OurDataAdapter;
Line 20:     DataSet OurDataSet = new DataSet();
Line 21:     OurConnection = new SqlConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Inetpub\wwwroot\eHandel\abcd.mdb");
Line 22:     OurConnection.Open();
Line 23:     OurCommand = new SqlCommand ("SELECT * FROM nyhed" ,OurConnection);
Avatar billede dgivoni Nybegynder
16. marts 2004 - 06:59 #4
Du skal bruge OleDbDataAdapter og OleDbConnection, da du bruger en Access-database.
SqlDataAdapter etc. er en speciel tilpasning til MS SQL Server.
Avatar billede arne_v Ekspert
16. marts 2004 - 07:40 #5
Jep.

SqlConnection SqlCommand etc. til SQL Server

OleDbConnection OleDbCommand etc. til OLE DB f.eks. Access

OdbcConnection OdbcCommand etc. til ODBC
Avatar billede arne_v Ekspert
16. marts 2004 - 07:40 #6
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester