Kann inte execute min delete and update i formview… fel parameter type?
Hej,
har problem med mina delete och update command
Går det att omformulera SQL kommadot i stället för att göra en koll med serverside kod ...IsEmpty() ...?
Felet jag får är “Cant cast from int32 to DateTime…” (Asp net 2.0)
två av mina kolumner är satta till type=DateTime i Tabellen table tb_buss
TimeAtTerminalOut and timeAtTerminalHome
Problemet är att jag kan inte uföra någon vädering om fältet är null
Sätter jag parametrarna till type DateTime får jag felet.
Ändrar jag till empty händer å andra sidan inget “empty” (no deletion and no error).
Problemet är den lilla siffran “1”, i commandot.
Alt 1. Då undrar jag förstås, går det att omformulera SQL kommadot i stället för att göra en kolla med serverside kod ...IsEmpty() ...?
Alt 2. Går det inte att göra ett annat kommando så får jag väl göra en kolla av fälet och om vädet är null så ändras kommandot?
Alt 3. Kasnke det går att tilldela ett default värde av typen datetime om fältet är null? hmm
Mån om att göra det på snabbast bästa sätt då jag kommer att behöva använda liknande kommandon rätt ofta.
Kommandot ser ut som följer:
DELETE FROM tb_buss
WHERE (id = @Original_id) AND
(@IsNull_busscompany_id = 1 AND busscompany_id IS NULL OR busscompany_id = @Original_busscompany_id) AND
(@IsNull_timeAtTerminalOut = 1 AND timeAtTerminalOut IS NULL OR timeAtTerminalOut = @Original_timeAtTerminalOut) AND
(@IsNull_timeAtTerminalHome = 1 AND timeAtTerminalHome IS NULL OR timeAtTerminalHome = @Original_timeAtTerminalHome) AND
(@IsNull_status = 1 AND status IS NULL OR status = @Original_status) AND
(@IsNull_travel_id = 1 AND travel_id IS NULL OR travel_id = @Original_travel_id)
__________________
Dessa parametrar har jag testat och ändrat fram och tillbaks ett antal gånger innan jag fattade att det var SQL kommandot som problemet, rätta mig om jag har fel.
<DeleteParameters>
<asp:ControlParameter ControlID="FormView_BussCompany" Name="Original_id" PropertyName="SelectedValue" Type="Int32" />
<asp:ControlParameter ControlID="FormView_BussCompany" Name="Original_busscompany_id" PropertyName="SelectedValue" Type="Int32" />
<asp:ControlParameter ControlID="FormView_BussCompany" Name="Original_timeAtTerminalOut" PropertyName="SelectedValue" />
<asp:ControlParameter ControlID="FormView_BussCompany" Name="Original_timeAtTerminalHome" PropertyName="SelectedValue" />
<asp:ControlParameter ControlID="FormView_BussCompany" Name="Original_status" PropertyName="SelectedValue" Type="String" />
<asp:ControlParameter ControlID="FormView_BussCompany" Name="Original_travel_id" PropertyName="SelectedValue" Type="Int32" />
<asp:ControlParameter ControlID="FormView_BussCompany" Name="IsNull_busscompany_id" PropertyName="SelectedValue" />
<asp:ControlParameter ControlID="FormView_BussCompany" Name="IsNull_timeAtTerminalOut" PropertyName="SelectedValue" />
<asp:ControlParameter ControlID="FormView_BussCompany" Name="IsNull_timeAtTerminalHome" PropertyName="SelectedValue" />
<asp:ControlParameter ControlID="FormView_BussCompany" Name="IsNull_status" PropertyName="SelectedValue" />
<asp:ControlParameter ControlID="FormView_BussCompany" Name="IsNull_travel_id" PropertyName="SelectedValue" />
</DeleteParameters>
Svara
Sv: Kann inte execute min delete and update i formview… fel parameter type?
Hej på er igen!
Ok, gjorde som jag blev rekomenderad i ett annat forum...Serverside kod som vanligt... tog altså bort alla IsNull_parametrar mm.
Om någon undrar så finns det helt ok info på
http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.formview(VS.80).aspx
Dock inte den info jag hade hoppats på dvs lite mer utförligt om Update,delete och OldValueFormat i FormView, controlparametrar, null validering i MS SQL.
En reflektion, himla bra med alla wizards och propertywindows samt olka editorer som exempelvis QueryBuilder, men det är nog en bit kvar innan man kan luta sig bakåt och låta allt gå med automatik :)
Svara