Avatar billede pumpin Nybegynder
12. september 2005 - 18:24 Der er 13 kommentarer

hvordan virker InsertCommand

heysan.. jeg har lavet et datasource i VS_2005 det inden holder både select og insert. Jeg har så lavet en knap med denne kode
SQLdatasource.insert();

og det virker bragene godt.. men jeg studsede lige over der var en som hed SQLdatasource.InsertCommand ( i ved den viser de givende commands man kan bruge i VS_2005 ) jeg prøvede den lige hurtigt af som følger:
SQLdatasource.InsertCommand="INSERT INTO ...... "; men det virker bare minus den siger det er en property som jeg bruger som en metode :S

hvordan virker den command og kan man fyre den af på en knap ville jo være smart at have et datasource objekt som du så bare fodrede med SQL strenge .. er det muligt ?
Avatar billede arne_v Ekspert
12. september 2005 - 18:31 #1
du har vel ikke smidt () på den ?
Avatar billede pumpin Nybegynder
12. september 2005 - 22:08 #2
nej prøvede også med InsertCommand=" SQL streng "
Avatar billede pumpin Nybegynder
12. september 2005 - 22:10 #3
kan det være fordi det datasource jeg har lavet allerede indeholder en Insert commnad ? ? at jeg så ikke kan fyre en anden af ?
Avatar billede arne_v Ekspert
12. september 2005 - 22:20 #4
må vi se et stykke kode, den præcise fejl besked og en markering hvilken linie i koden
der svarer til linien i fejl beskeden ?
Avatar billede pumpin Nybegynder
12. september 2005 - 23:07 #5
jeps håber du forstår det :)
i teorien kan jeg jo bare alve to datasource men hvis nu man bare kunne have en datasource til hver tabel og så bare fyre sql til den ville det være lækkret :) dejlig nemt og bekvemt..

here we go

<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/cms.mdb"
        DeleteCommand="DELETE FROM [news] WHERE [news_id] = ?" InsertCommand="INSERT INTO [news] ([news_id], [overskrift], [besked], [forfatter]) VALUES (?, ?, ?, ?)"
        SelectCommand="SELECT * FROM [news] WHERE ([forfatter] = ?)" UpdateCommand="UPDATE [news] SET [overskrift] = ?, [besked] = ?, [forfatter] = ? WHERE [news_id] = ?">
        <DeleteParameters>
            <asp:Parameter Name="original_news_id" Type="Int32" />
        </DeleteParameters>
        <UpdateParameters>
            <asp:Parameter Name="overskrift" Type="String" />
            <asp:Parameter Name="besked" Type="String" />
            <asp:Parameter Name="forfatter" Type="String" />
            <asp:Parameter Name="original_news_id" Type="Int32" />
        </UpdateParameters>
        <SelectParameters>
            <asp:ControlParameter ControlID="DropDownListForfatter" Name="forfatter" PropertyName="SelectedValue"
                Type="String" />
        </SelectParameters>
        <InsertParameters>
            <asp:Parameter Name="news_id" Type="Int32" />
            <asp:ControlParameter ControlID="TextBox1" Name="overskrift" PropertyName="Text"
                Type="String" />
            <asp:ControlParameter ControlID="TextBox2" Name="besked" PropertyName="Text" Type="String" />
            <asp:SessionParameter Name="forfatter" SessionField="user" Type="String" />
        </InsertParameters>
    </asp:AccessDataSource>

mine to knapper som begge skal bruge det samme data
Avatar billede pumpin Nybegynder
12. september 2005 - 23:09 #6
pis sider på en laptop ramte touchtpadden .. sry for afbrydelsen

mine to knapper som begge skal bruge det samme datasource bare med 2 forskellige SQL sætninger :

protected void Button1_Click(object sender, EventArgs e)
    {
        AccessDataSource1.Insert();
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        AccessDataSource1.InsertCommand = "INSERT INTO news WHERE id='" + Session["usercolor"] + "' (overskrift, besked, forfatter) VALUES (overskrif.Text, besked.Text, fofatter.Text)";
    }
Avatar billede arne_v Ekspert
12. september 2005 - 23:10 #7
det første jeg ligger mærke til er at du bruger WHERE i din INSERT - det kan man ikke
Avatar billede arne_v Ekspert
12. september 2005 - 23:15 #8
som jeg læser dokumentation bør det være validt at bruge:

AccessDataSource1.InsertCommand = "...";
Avatar billede arne_v Ekspert
12. september 2005 - 23:17 #9
men vil du til at genbruge så tror jeg at du skal kigge på nogle andre
klasser end AccessDataSource
Avatar billede pumpin Nybegynder
12. september 2005 - 23:32 #10
oki kast et svar og evt et lille vink til hvad jeg skal kigge på
Avatar billede arne_v Ekspert
12. september 2005 - 23:37 #11
OleDbConnection
OleDbCommand
OleDbDataAdapter
DataSet

må være nogle centrale klasser for brug af Access
Avatar billede arne_v Ekspert
12. september 2005 - 23:37 #12
og et svar
Avatar billede arne_v Ekspert
29. september 2005 - 20:07 #13
så mangler du bare at acceptere svaret
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