Error On Insert Record in Grid with SQLDataSource and Access DataBase

  1. #1

    Error On Insert Record in Grid with SQLDataSource and Access DataBase



    Update existing records and delete records works fine. But when one record is inserted and Save button is clicked occur Error in OleDB Parameter. See Attachments. My Code:
    <%@ Page Language="VB" AutoEventWireup="false" CodeFile="GridWithEditField.aspx.vb" Inherits="GridWithEditField" %>
    
    
    <%@ Register Assembly="Coolite.Ext.Web" Namespace="Coolite.Ext.Web" TagPrefix="ext" %>
    
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
        <title>Grid With Paginação</title>
        
        <link href="resources/css/examples.css" rel="stylesheet" type="text/css" />
        <style type="text/css">
            .x-grid3-td-fullName .x-grid3-cell-inner
            {
                font-family: tahoma, verdana;
                display: block;
                font-weight: normal;
                font-style: normal;
                color: #385F95;
                white-space: normal;
            }
            .x-grid3-row-body p
            {
                margin: 5px 5px 10px 5px !important;
                width: 99%;
                color: Gray;
            }
        </style>
        
    
    
        
    
    
    </head>
    <body>
        <form id="form1" runat="server">
        <div  style="width:600px;margin:10px auto">
        
            <ext:ScriptManager ID="ScriptManager1" runat="server" />
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                ConnectionString="<%$ ConnectionStrings:ConnString %>"            
                ProviderName="<%$ ConnectionStrings:ConnString.ProviderName %>" 
                SelectCommand="SELECT [EmployeeID], [LastName], [FirstName], [Title], [TitleOfCourtesy], [BirthDate], [HireDate], [Address], [City], [Region], [PostalCode], [Country], [HomePhone], [Extension], [Notes] FROM [Employees]" 
                DeleteCommand="DELETE FROM [Employees] WHERE [EmployeeID] = @EmployeeID" 
                InsertCommand="INSERT INTO [Employees] (
                [LastName], 
                [FirstName], 
                [Title], 
                [TitleOfCourtesy], 
                [BirthDate], 
                [HireDate], 
                [Address], 
                [City], 
                [Region], 
                [PostalCode], 
                [Country], 
                [HomePhone], 
                [Extension], 
                [Notes]) 
                VALUES 
               (@LastName, 
                @FirstName, 
                @Title, 
                @TitleOfCourtesy, 
                @BirthDate, 
                @HireDate, 
                @Address, 
                @City, 
                @Region, 
                @PostalCode, 
                @Country, 
                @HomePhone, 
                @Extension, 
                @Notes]);SELECT @newId = @@Identity;"
                UpdateCommand="UPDATE [Employees] SET 
                [LastName] = @LastName, 
                [FirstName] = @FirstName, 
                [Title] = @Title, 
                [TitleOfCourtesy] = @TitleOfCourtesy, 
                [BirthDate] = @BirthDate, 
                [HireDate] = @HireDate, 
                [Address] = @Address, 
                [City] = @City, 
                [Region] = @Region, 
                [PostalCode] = @PostalCode, 
                [Country] = @Country, 
                [HomePhone] = @HomePhone, 
                [Extension] = @Extension, 
                [Notes] = @Notes 
                WHERE [EmployeeID] = @EmployeeID">
                <DeleteParameters>
                    <asp:Parameter Name="EmployeeID" Type="Int32" />
                </DeleteParameters>
                <UpdateParameters>
                    <asp:Parameter Name="LastName" Type="String" />
                    <asp:Parameter Name="FirstName" Type="String" />
                    <asp:Parameter Name="Title" Type="String" />
                    <asp:Parameter Name="TitleOfCourtesy" Type="String" />
                    <asp:Parameter Name="BirthDate" Type="DateTime" />
                    <asp:Parameter Name="HireDate" Type="DateTime" />
                    <asp:Parameter Name="Address" Type="String" />
                    <asp:Parameter Name="City" Type="String" />
                    <asp:Parameter Name="Region" Type="String" />
                    <asp:Parameter Name="PostalCode" Type="String" />
                    <asp:Parameter Name="Country" Type="String" />
                    <asp:Parameter Name="HomePhone" Type="String" />
                    <asp:Parameter Name="Extension" Type="String" />
                    <asp:Parameter Name="Notes" Type="String" />
                    <asp:Parameter Name="EmployeeID" Type="Int32" />
                </UpdateParameters>
                <InsertParameters>
                    <asp:Parameter Name="LastName" Type="String" />
                    <asp:Parameter Name="FirstName" Type="String" />
                    <asp:Parameter Name="Title" Type="String" />
                    <asp:Parameter Name="TitleOfCourtesy" Type="String" />
                    <asp:Parameter Name="BirthDate" Type="DateTime" />
                    <asp:Parameter Name="HireDate" Type="DateTime" />
                    <asp:Parameter Name="Address" Type="String" />
                    <asp:Parameter Name="City" Type="String" />
                    <asp:Parameter Name="Region" Type="String" />
                    <asp:Parameter Name="PostalCode" Type="String" />
                    <asp:Parameter Name="Country" Type="String" />
                    <asp:Parameter Name="HomePhone" Type="String" />
                    <asp:Parameter Name="Extension" Type="String" />
                    <asp:Parameter Name="Notes" Type="String" />
                    <asp:Parameter Direction="Output" Name="newId" Type="Int32" />                
                </InsertParameters>
            </asp:SqlDataSource>
            
            <ext:Store ID="Store1" runat="server" DataSourceID="SqlDataSource1"
            UseIdConfirmation="true" 
             OnAfterRecordUpdated="Store1_AfterRecordUpdated">
                <Reader>
                    <ext:JsonReader ReaderID="EmployeeID">
                        <Fields>
                            <ext:RecordField Name="FirstName" />
                            <ext:RecordField Name="LastName" />
                            <ext:RecordField Name="Title" />
                            <ext:RecordField Name="TitleOfCourtesy" />
                            <ext:RecordField Name="BirthDate" Type="Date" />
                            <ext:RecordField Name="HireDate" Type="Date" />
                            <ext:RecordField Name="Address" />
                            <ext:RecordField Name="City" />
                        </Fields>
                    </ext:JsonReader>
                </Reader>  
            <Listeners>
                <LoadException Handler="Ext.Msg.alert('Suppliers - Load failed', e.message || e )" />
                <CommitFailed Handler="Ext.Msg.alert('Suppliers - Commit failed', 'Reason: ' + msg)" />
                <SaveException Handler="Ext.Msg.alert('Suppliers - Save failed', e.message || e)" />
                <CommitDone Handler="Ext.Msg.alert('Suppliers - Commit', 'The data successfully saved');" />
            </Listeners>                      
            </ext:Store> 
                        <ext:Panel BodyBorder="false" 
                            ID="Panel1" 
                            runat="server" 
                            Height="500" 
                            Header="false">
                            <Body>
                     <ext:FitLayout ID="FitLayout1" runat="server">                         
    <ext:GridPanel  
                ID="GridPanel1" 
                runat="server" 
                Title="Employees"
                Frame="true" 
                Width="600"
                Collapsible="true" 
                StoreID="Store1">
                <ColumnModel ID="ColumnModel1" runat="server">
                    <Columns>
                        <ext:Column ColumnID="fullName" Header="Full Name" Width="150" DataIndex="LastName">
                            <Editor>
                                <ext:TextField ID="TextField1" runat="server" />
                            </Editor>                        
                        </ext:Column>
                        <ext:Column DataIndex="Title" Header="Title" Width="150" />
                        <ext:Column DataIndex="TitleOfCourtesy" Header="Title Of Courtesy" Width="100" />
                        <ext:Column DataIndex="BirthDate" Header="BirthDate" Width="110">
                            <Renderer Fn="Ext.util.Format.dateRenderer('Y-m-d')" />
                        </ext:Column>
                        <ext:Column DataIndex="HireDate" Header="HireDate" Width="110">
                            <Renderer Fn="Ext.util.Format.dateRenderer('Y-m-d')" />
                        </ext:Column>
                        <ext:Column DataIndex="Address" Header="Address" Width="150" />
                        <ext:Column DataIndex="City" Header="City" Width="100" />
                    </Columns>
                </ColumnModel>
                <SelectionModel>
                    <ext:RowSelectionModel ID="RowSelectionModel1" runat="server" />
                </SelectionModel>
               <LoadMask ShowMask="false" />              
                <BottomBar> 
                    <ext:PagingToolBar ID="PagingToolBar1" runat="server" PageSize="10" />
                </BottomBar>           
            </ext:GridPanel>
                    </ext:FitLayout>
                            </Body>
                            <Buttons>
                                <ext:Button ID="btnSave" runat="server"  Text="Save Records" Icon="Disk">
                                    <Listeners>
                                        <Click Handler="#{GridPanel1}.save();" />
                                    </Listeners>
                                </ext:Button>
                                <ext:Button ID="btnDelete" runat="server"  Text="Delete selected records" Icon="Delete">
                                    <Listeners>
                                        <Click Handler="#{GridPanel1}.deleteSelected();" />
                                    </Listeners>
                                </ext:Button>
                                <ext:Button ID="btnInsert" runat="server"  Text="Insert" Icon="Add">
                                    <Listeners>
                                        <Click Handler="#{GridPanel1}.insertRecord(0, {});#{GridPanel1}.getView().focusRow(0);#{GridPanel1}.startEditing(0, 0);" />
                                    </Listeners>
                                </ext:Button>
                                <ext:Button ID="btnRefresh" runat="server"  Text="Refresh" Icon="ArrowRefresh">
                                    <Listeners>
                                        <Click Handler="#{GridPanel1}.reload();" />
                                    </Listeners>
                                </ext:Button>
                                <ext:Button ID="btnEmulError" runat="server"  Text="Refresh with Emulator error" Icon="Exclamation">
                                    <Listeners>
                                        <Click Handler="#{GridPanel1}.reload({params:{EmulateError: 1}});" />
                                    </Listeners>
                                </ext:Button>                           
                            </Buttons>
    
    
    </ext:Panel>      
         
        
    
        </form>
    </body>
    </html>
  2. #2

    Me too getting the similar problem. Im not using SqlDataSource.

    Hi Everyone,
    I want to perform crud operations on a grid at clientside and after clicking on Save button , it should be saved to database.

    Add, Edit and Delete are working at clientside. But when i click on Save button (May be in postback), Grid is losing its data.
    My question is how to get the grid present data and store it back to database?

    Im not using MVC. Im using normal Asp.net. My code is like below.

    <ext:ResourceManager ID="ResourceManager1" runat="server" />
    <ext:Store ID="Store1" runat="server">
                <Reader>
                    <ext:JsonReader>
                        <Fields>
                            <ext:RecordField Name="ID" />
                            <ext:RecordField Name="Name" />
                            <ext:RecordField Name="Gender" />
                        </Fields>
                    </ext:JsonReader>
                </Reader>
                <Listeners>
                <BeforeSave Fn="saving" /> //saving() is the js fn just to check. IT is hitting, but dont have idea on how to capture the present values of grid
                </Listeners>
                
            </ext:Store>
                 
           
            <ext:GridPanel ID="UserGrid" runat="server" Icon="Table" Frame="true" Title="Employees"
                Height="400" Width="500" StoreID="Store1" StripeRows="true" StyleSpec="margin-top: 10px">
                <ColumnModel>
                    <Columns>
                        <ext:Column ColumnID="ID" Header="ID" Width="40" DataIndex="ID">
                            <Editor>
                                <ext:DisplayField runat="server" StyleSpec="padding-left:5px;font:11px arial, tahoma, helvetica, sans-serif;" />
                            </Editor>
                        </ext:Column>
                        <ext:Column Header="Name" Width="100" DataIndex="Name">
                            <Editor>
                                <ext:TextField ID="TextField1" runat="server" />
                            </Editor>
                        </ext:Column>
                        <ext:Column Header="Gender" Width="50" DataIndex="Gender">
                            <Editor>
                                <ext:TextField ID="TextField2" runat="server" />
                            </Editor>
                        </ext:Column>
                    </Columns>
                </ColumnModel>
                <SelectionModel>
                    <ext:RowSelectionModel ID="RowSelectionModel1" runat="server" />
                </SelectionModel>
                <View>
                    <ext:GridView ID="GridView1" runat="server" ForceFit="true" />
                </View>
                <TopBar>
                    <ext:Toolbar ID="Toolbar1" runat="server">
                        <Items>
                            <ext:Button ID="Button1" runat="server" Text="Add" Icon="Add">
                                <Listeners>
                                    <Click Handler="#{UserGrid}.insertRecord(0, {});#{UserGrid}.getView().focusRow(0);#{UserGrid}.startEditing(0, 0);" />
                                </Listeners>
                            </ext:Button>
                            <ext:Button ID="Button2" runat="server" Text="Delete" Icon="Exclamation">
                                <Listeners>
                                    <Click Handler="#{UserGrid}.deleteSelected();" />
                                </Listeners>
                            </ext:Button>
                            <ext:Button ID="Button3" runat="server" Text="Save" Icon="Disk">
                                <Listeners>
                                    <Click Handler="#{UserGrid}.save();" /> //No change even if i write Store1.save(); here
                                </Listeners>
                            </ext:Button>
                            <ext:Button ID="Button4" runat="server" Text="Reject Changes" Icon="ArrowUndo">
                                <Listeners>
                                    <Click Handler="#{UserGrid}.rejectChanges();" /> //No change even if i write Store1.rejectChanges(); here
                                </Listeners>
                            </ext:Button>
                         
                        </Items>
                        
                    </ext:Toolbar>
                    
                </TopBar>
                <Plugins>
                    <ext:RowEditor ID="RowEditor1" runat="server" SaveText="Save" ErrorSummary="false" />
                </Plugins>
                <BottomBar>
                    <ext:PagingToolbar ID="PagingToolbar1" runat="server" PageSize="10" />
                </BottomBar>
                <Listeners>
                    <BeforeEdit Handler="return !(e.field=='ID' && !e.record.newRecord);" />
                </Listeners>
                <LoadMask ShowMask="true" />
                <SaveMask ShowMask="true" />
            </ext:GridPanel>
    I didn't written anything in code behind till now. Im not getting any idea that how to get the present values of grid in codebehind to store to the datebase.
    Can anybody plz help me out from this prob asap.
    In the below link somebody said like using <ajaxevents> in a button. But im using the latest version of Ext.Net.dll. so that is not at all available now.
    http://forums.ext.net/showthread.php...re-to-database.

    Thank in advance.
    Regards,
    Santhosh
    Last edited by Daniil; Oct 05, 2011 at 8:42 AM. Reason: Please use [CODE] tags
  3. #3
    Hi Santhosh, Think you should have started your own thread for the issue you posted here. Anyways, please check the example if it fits you- https://examples1.ext.net/#/GridPane...s/StoreEvents/

    Regards
  4. #4

    Thanks alot

    Hi Reezvi,
    Thanks for ur help. I will look into it. It helps for me.

    Regards,
    Santhosh Kumar

    Quote Originally Posted by reezvi View Post
    Hi Santhosh, Think you should have started your own thread for the issue you posted here. Anyways, please check the example if it fits you- https://examples1.ext.net/#/GridPane...s/StoreEvents/

    Regards
  5. #5
    Always welcome. Take care.

Similar Threads

  1. [CLOSED] Access Grid Data Store and manually store to database
    By macap in forum 1.x Legacy Premium Help
    Replies: 8
    Last Post: Oct 05, 2011, 8:52 AM
  2. [CLOSED] Insert Grid Record - Edit First Cell?
    By peter.campbell in forum 1.x Legacy Premium Help
    Replies: 3
    Last Post: May 10, 2011, 11:01 AM
  3. Replies: 0
    Last Post: Jun 10, 2010, 1:18 AM
  4. [CLOSED] Insert Record into grid
    By sharif in forum 1.x Legacy Premium Help
    Replies: 2
    Last Post: Apr 08, 2010, 2:16 PM
  5. sqldatasource insert into oracle
    By Michael W Yang in forum 1.x Help
    Replies: 4
    Last Post: Aug 04, 2009, 10:29 PM

Posting Permissions