webForumDet fria alternativet

Ang AccessDataSource

.NETur .NET

7 svar · 400 visningar · startad av saw

Medlem sedan mars 20011 880 inlägg
Frågan#1

Ber om ursäkt för att jag är här igen, men jag blir tokig på AccessDataSource.
Den självgenererade uppdaten ser ut så här:

UpdateCommand="UPDATE [t_Order] SET [KundNr] = ?, [AnstNr] = ?, [tjanst] 
= ?, [startDatum] = ?, [startTid] = ?, [slutDatum] = ?, [slutTid] = ?, 
[antalTimmar] = ?, [klart] = ?, [beskrivning] = ? WHERE [Id] = ? AND [KundNr] 
= ? AND [AnstNr] = ? AND [tjanst] = ? AND [startDatum] = ? AND [startTid]
 = ? AND [slutDatum] = ? AND [slutTid] = ? AND [antalTimmar] = ? AND 
[klart] = ? AND [beskrivning] = ?">

<UpdateParameters>
            <asp:Parameter Name="KundNr" Type="String" />
            <asp:Parameter Name="AnstNr" Type="String" />
            <asp:Parameter Name="tjanst" Type="String" />
            <asp:Parameter Name="startDatum" Type="DateTime" />
            <asp:Parameter Name="startTid" Type="DateTime" />
            <asp:Parameter Name="slutDatum" Type="DateTime" />
            <asp:Parameter Name="slutTid" Type="DateTime" />
            <asp:Parameter Name="antalTimmar" Type="DateTime" />
            <asp:Parameter Name="klart" Type="Boolean" />
            <asp:Parameter Name="beskrivning" Type="String" />
            <asp:Parameter Name="original_Id" Type="Int32" />
            <asp:Parameter Name="original_KundNr" Type="String" />
            <asp:Parameter Name="original_AnstNr" Type="String" />
            <asp:Parameter Name="original_tjanst" Type="String" />
            <asp:Parameter Name="original_startDatum" Type="DateTime" />
            <asp:Parameter Name="original_startTid" Type="DateTime" />
            <asp:Parameter Name="original_slutDatum" Type="DateTime" />
            <asp:Parameter Name="original_slutTid" Type="DateTime" />
            <asp:Parameter Name="original_antalTimmar" Type="DateTime" />
            <asp:Parameter Name="original_klart" Type="Boolean" />
            <asp:Parameter Name="original_beskrivning" Type="String" />
        </UpdateParameters>

Om jag inte rör detta någonting, utan försöker uppdatera, så händer ingenting.
Ingen data förändras. Jag har vid tidigare tillfälle tagit bort ganska så mycket
ifrån SQL:en (efter WHERE [Id] = ? ) och då har det fungerat, men om jag gör
det så blir det en massa "blanka" fält i databasen.
Hur i hela fridens namn skall jag kunna fixa detta. x(

Medlem sedan dec. 20014 239 inlägg
#2

En update behöver en WHERE om du inte ska uppdatera alla fält i tabellen. Hur fyller du på med data till parametrarna?

Medlem sedan mars 20011 880 inlägg
#3

Jag har hittat orsaken men kan inte fårstå hur jag skall fixa till det.
När det gäller datumen så visas de som 2008-03-20 00:00:00.
Jag vill ju enbart ha datum här så jag la in

'<%# System.Convert.ToDateTime(Eval("startDatum")).ToShortDateString()%>'

Nu ser det ju bra ut, men när jag skall editera, så blir det ju 2008-03-20 00:00:00 igen.

Om jag i <EditItemTemplate> lägger till samma kod som ovan, då kan jag inte
uppdatera längre. Hur gör jag? Kan jag fixa det via CodeBehind?

Medlem sedan jan. 20022 440 inlägg
#4

Du måste ställa in

DataFormatString="{0:d}"

och

ApplyFormatInEditMode="true"
Medlem sedan mars 20011 880 inlägg
#5

Tack hur skall formateringen se ut för tid?

Medlem sedan jan. 20022 440 inlägg
#6

http://msdn2.microsoft.com/en-us/library/az4se3k1.aspx

Tycker du ska läsa igenom allting (alla underlänkar särskilt de som står under: See Also Concepts längst ner) på http://msdn2.microsoft.com/en-us/library/26etazsy.aspx

Medlem sedan mars 20011 880 inlägg
#7

Tack för detta CatZ, nu löste sig alla mina problem. Så mycket som jag har letat men
dessa sidor har jag aldrig stött på.

Medlem sedan mars 20011 880 inlägg
#8

Nu är problemet det att jag kan inte uppdatera databasen om jag har

DataFormatString="{0:t}" ApplyFormatInEditMode="True"
143 ms totalt · 3 externa anrop · v20260731065814-full.b746b907
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
140 ms — hämta tråd, inlägg och bilagor (db)