开发者

CommandName issues to insert to a database

开发者 https://www.devze.com 2022-12-26 06:06 出处:网络
In the below code, when we define the parameters CommandName=\"Insert\" is it actually the same as executing the method Insert? As I can\'t find Insert anywhere...

In the below code, when we define the parameters CommandName="Insert" is it actually the same as executing the method Insert? As I can't find Insert anywhere...

<div class="actionbuttons">
                        <Club:RolloverButton ID="apply1" CommandName="Insert" Text="Add Event" runat="server" />
                        <Club:RolloverLink ID="Cancel" Text="Cancel" runat="server" NavigateURL='<%# "Events_view.aspx?EventID=" + Convert.ToString(Eval("ID")) %>' />
                    </div>

I have the following SqlDataSource as well:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ClubSiteDB %>"
    SelectCommand="SELECT dbo.Events.id, dbo.Events.starttime, dbo.events.endtime, dbo.Events.title, dbo.Events.description, dbo.Events.staticURL, dbo.Events.photo,  dbo.Events.location, dbo.Locations.title AS locationname FROM  dbo.Events LEFT OUTER JOIN dbo.Locations ON dbo.Events.location = dbo.Locations.id where Events.id=@id"
    InsertCommand="INSERT INTO Events(starttime, endtime, title, description, staticURL, location, photo) VALUES (@starttime, @endtime,  @title, @description, @staticURL, @location, @photo)"
    UpdateCommand="UPDATE Events SET starttime = @starttime, endtime=@endtime, title = @title, description = @description, staticURL = @staticURL, location = @location, photo = @photo WHERE (id = @id)"
    DeleteCommand="DELETE Events WHERE id=@id" OldValuesParameterFormatString="{0}">
    <SelectParameters>
        <asp:QueryStringParameter Name="id" QueryStringField="ID" />
    </SelectParameters>
    <UpdateParameters>
        <asp:Parameter Name="starttime" Type="DateTime" />
        <asp:Parameter Name="endtime" Type="DateTime" />
        <asp:Parameter Name="title" />
        <asp:Parameter Name="description" />
        <asp:Parameter Name="staticURL" />
        <asp:Parameter Name="location" />
        <asp:Parameter Name="photo" />
        <asp:Parameter Name="id" />
    </UpdateParameters>
    <InsertParameters>
        <asp:Parameter Name="starttime" Type="DateTime" />
        <asp:Parameter Name="endtime" Type="DateTime" />
        <asp:Parameter Name="title" />
        <asp:Parameter Name="description" />
        <asp:Parameter Name="staticURL" />
        <asp:Parameter Name="location" />
        <asp:Parameter Name="photo" />
        <asp:Parameter Name="id" />
    </InsertParameters>
    <DeleteParameters>
        <asp:QueryStringParameter Name="id" QueryStringField="ID" />
    </DeleteParameters>
</asp:SqlDataSource>

I want it to insert using the InsertCom开发者_StackOverflow社区mand, however when I do SqlDataSource1.Insert() it's complaining that starttime is NULL


Since the error is for the starttime value not being set, the error might be related to the field you are using to get the starttime value. Are you using a Bind("starttime") instead of Eval("starttime")?

Bind("starttime")

Updated: Are you setting the paramter? if not you should tell the SqlDataSource where to get it.

<asp:ControlParameter Name="starttime" ControlID="dtpicker"
                   PropertyName="startDateTime" Type="DateTime" />
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号