Avatar billede mr_miyagi Nybegynder
11. september 2006 - 10:56 Der er 3 kommentarer og
1 løsning

Problemer med at opdatere en access database igen

Jeg har lavet en simpel database med fem inputfelter og vil nu smide noget data ind i den, men får flg. problem: Fejl i SQL sætningen.

Hvad gør jeg galt?
jeg bruger en datatable som jeg vil opdater databasen med.

Link til databasen.
http://www.worldweideweb.dk/
Avatar billede mr_miyagi Nybegynder
11. september 2006 - 10:57 #1
koden:

<%@ Import Namespace="System.Data.OleDb" %>
<%@ Import Namespace="System.Data" %>
<%@ Page Language="C#" Debug="true" %>

<script runat="server">
    private OleDbConnection conn;
    string connectionString;
    private OleDbCommand command;
    private OleDbDataAdapter oleDbDataAdapter;
    private OleDbCommandBuilder builder;
    private DataTable dt;

    protected void Page_Load(object sender, EventArgs e)
    {
        connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" + Server.MapPath("/db/lort.mdb") + ";Jet OLEDB:Database Password=000000;";

        conn = new OleDbConnection(connectionString);

            dt = new DataTable();
            ReturnDataTable();
    }

    public void ReturnDataTable()
    {
        oleDbDataAdapter = new OleDbDataAdapter("SELECT * FROM Timer", conn);
        oleDbDataAdapter.Fill(dt);

        GridView1.DataSource = dt.DefaultView;
        GridView1.DataBind();
    }
   
        public void UpdateInsertDeleteDatabase(object sender, EventArgs e)
        {
            DataRow newRow = dt.NewRow();
            newRow["ID2"] = 123456;
            newRow["testNr"] = 654321;
            newRow["Kommentar"] = "bla efwefefe ";
            newRow["min"] = 10;
            dt.Rows.Add(newRow);
           
            string error = "";
            try {
                builder = new OleDbCommandBuilder(oleDbDataAdapter);
                oleDbDataAdapter.Update(dt);
            }
            catch (Exception eoe) {
                error = eoe.Message;
            }
            Response.Write("FEJL: " + error); 
        }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="Button1" runat="server" OnClick="UpdateInsertDeleteDatabase" Text="Button" /><br />
        <br />SQL sætning:<br />
        INSERT INTO Timer(ID2, testNR, kommentar, min) VALUES (123456,654321, 'bla efwefefe ', 10);<br />
        <br />ID = Autonummerering<br />ID2 = tal<br />testNR = tal<br />
        Kommentar = notat<br />min = tal<br /><br />
        <asp:GridView ID="GridView1" runat="server">
        </asp:GridView>
    </div>
    </form>
</body>
</html>
Avatar billede dr_chaos Nybegynder
11. september 2006 - 11:11 #2
DU kan ikke gøre det på den måde.
Du forsøger at opdatere en tabel med en kolonne som ikke eksisterer.
DU skal kalde:
oleDbDataAdapter.Insert(dt);
Avatar billede mr_miyagi Nybegynder
11. september 2006 - 11:23 #3
Der findes ingen metoder i oleDbDataAdapter som hedder Insert();
Avatar billede mr_miyagi Nybegynder
03. november 2006 - 10:08 #4
_
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
Kurser inden for grundlæggende programmering

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