PRQ 0 Denunciar post Postado Julho 2, 2008 Pessoal, boa tarde. Estou aprendendo a trabalhar com o GridView, DetailView e FormView , utilizando o Visual Web Developer. A edição, alteração e deleção de registros em um banco de dados consigo sem problemas. A dificuldade está em tentar a inclusão de um registro tanto utilizando o detailview como o formview. Segui o exemplo do artigo: Utilizando o GridView e DetailsView, que trata da apresentação destes 2 controles e funciona perfeitamente no caso de edição e alteração de registros , mas quando eu altero a propriedade DefaultMode para “Insert” no lugar de “Edit” no DetailsViews e rodo o aplicativo obtenho mensagens de erro – ” Exception Details: System.Data.OleDb.OleDbException: Você tentou atribuir o valor Null a uma variável que não é do tipo de dados Variant.” , que creio estar ligada , no exemplo, ao código de funcionário que é de numeração automática. Agradeço antecipadamente qualquer ajuda que possa resolver este problema . -------------------------------------------------------------------------------- Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Julho 2, 2008 PRQ, Seja Bem Vindo ao Fórum Imasters, de uma olhada em nossas regras: http://forum.imasters.com.br/index.php?act=Help O erro ocorre em alguma linha especifica? Se sim, poste parte do código. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
PRQ 0 Denunciar post Postado Julho 3, 2008 PRQ, Seja Bem Vindo ao Fórum Imasters, de uma olhada em nossas regras: http://forum.imasters.com.br/index.php?act=Help O erro ocorre em alguma linha especifica? Se sim, poste parte do código. Abraços... Bruno, bom dia Obrigado pela sua atenção. Basicamente não há código. Segui fielmente o artigo do Macoratti - Usando o controle FormView (www.macoratti.net/07/07/aspn_frv.htm) . Este artigo trata da inserção de 2 controles o GridView e o FormView, utilizando o banco de dados Northwind.mdb.O controle Formview é habilitado em sua propriedade Defaultmode para "Insert".Ao rodar o aplicativo, colocar os dados e clicar no botão inserir, a mensagem de erro ocorre. Pelo que entendi, o sistema não adiciona automaticamente um número ao campo(que é de numeração automática) EmployeeID, ocasionando um valor nulo na inserção gerando este erro. Creio que soube me expressar quanto ao problema.Tentei também utilizar o DetailsView no lugar do FormView e a situação é a mesma. No aguardo de uma possível solução, agradeço. Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Julho 3, 2008 Achei a resposta em outro fórum, veja se auxilia: "O problema é que o acesso ao banco de dados gera, quando você habilita o modo de Insert, um insertcommand com uma instrução de sql errada. Você deve ir lá e corrigir ela manualmente. Vai lá nessa instrução e deleta o seu campo "id" o autonumérico e deleta também o "?"." Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
PRQ 0 Denunciar post Postado Julho 3, 2008 Achei a resposta em outro fórum, veja se auxilia: "O problema é que o acesso ao banco de dados gera, quando você habilita o modo de Insert, um insertcommand com uma instrução de sql errada. Você deve ir lá e corrigir ela manualmente. Vai lá nessa instrução e deleta o seu campo "id" o autonumérico e deleta também o "?"." Abraços... Eu, de novo!! Executei o procedimento sugerido e nada. Outro erro surgiu " Tipo de dados imcompatível na expressão de critério. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.Data.OleDb.OleDbException: Tipo de dados imcompatível na expressão de critério." abaixo o código original sem as alterações <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %> <!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 runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <asp:FormView ID="FormView1" runat="server" DataSourceID="AccessDataSource1" Width="217px" AllowPaging="True" BackColor="White" BorderColor="#CC9966" BorderStyle="Solid" BorderWidth="1px" CellPadding="4" DefaultMode="Insert" GridLines="Both" DataKeyNames="EmployeeID"> <EditItemTemplate> EmployeeID: <asp:Label ID="EmployeeIDLabel1" runat="server" Text='<%# Eval("EmployeeID") %>'> </asp:Label><br /> LastName: <asp:TextBox ID="LastNameTextBox" runat="server" Text='<%# Bind("LastName") %>'> </asp:TextBox><br /> FirstName: <asp:TextBox ID="FirstNameTextBox" runat="server" Text='<%# Bind("FirstName") %>'> </asp:TextBox><br /> Title: <asp:TextBox ID="TitleTextBox" runat="server" Text='<%# Bind("Title") %>'> </asp:TextBox><br /> BirthDate: <asp:TextBox ID="BirthDateTextBox" runat="server" Text='<%# Bind("BirthDate") %>'> </asp:TextBox><br /> City: <asp:TextBox ID="CityTextBox" runat="server" Text='<%# Bind("City") %>'> </asp:TextBox><br /> <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" Text="Update"> </asp:LinkButton> <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel"> </asp:LinkButton> </EditItemTemplate> <InsertItemTemplate> LastName: <asp:TextBox ID="LastNameTextBox" runat="server" Text='<%# Bind("LastName") %>'> </asp:TextBox><br /> FirstName: <asp:TextBox ID="FirstNameTextBox" runat="server" Text='<%# Bind("FirstName") %>'> </asp:TextBox><br /> Title: <asp:TextBox ID="TitleTextBox" runat="server" Text='<%# Bind("Title") %>'> </asp:TextBox><br /> BirthDate: <asp:TextBox ID="BirthDateTextBox" runat="server" Text='<%# Bind("BirthDate") %>'> </asp:TextBox><br /> City: <asp:TextBox ID="CityTextBox" runat="server" Text='<%# Bind("City") %>'> </asp:TextBox><br /> <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert" Text="Insert"> </asp:LinkButton> <asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel"> </asp:LinkButton> </InsertItemTemplate> <ItemTemplate> EmployeeID: <asp:Label ID="EmployeeIDLabel" runat="server" Text='<%# Eval("EmployeeID") %>'> </asp:Label><br /> LastName: <asp:Label ID="LastNameLabel" runat="server" Text='<%# Bind("LastName") %>'></asp:Label><br /> FirstName: <asp:Label ID="FirstNameLabel" runat="server" Text='<%# Bind("FirstName") %>'></asp:Label><br /> Title: <asp:Label ID="TitleLabel" runat="server" Text='<%# Bind("Title") %>'></asp:Label><br /> BirthDate: <asp:Label ID="BirthDateLabel" runat="server" Text='<%# Bind("BirthDate") %>'></asp:Label><br /> City: <asp:Label ID="CityLabel" runat="server" Text='<%# Bind("City") %>'></asp:Label><br /> <asp:LinkButton ID="EditButton" runat="server" CausesValidation="False" CommandName="Edit" Text="Edit"> </asp:LinkButton> <asp:LinkButton ID="DeleteButton" runat="server" CausesValidation="False" CommandName="Delete" Text="Delete"> </asp:LinkButton> <asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" CommandName="New" Text="New"> </asp:LinkButton> </ItemTemplate> <FooterStyle BackColor="#FFFFCC" ForeColor="#330099" /> <EditRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="#663399" /> <RowStyle BackColor="White" ForeColor="#330099" /> <PagerStyle BackColor="#FFFFCC" ForeColor="#330099" HorizontalAlign="Center" /> <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="#FFFFCC" /> </asp:FormView> <asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/Northwind.mdb" SelectCommand="SELECT [EmployeeID], [LastName], [FirstName], [Title], [BirthDate], [City] FROM [Employees]" OldValuesParameterFormatString="original_{0}" ConflictDetection="CompareAllValues" DeleteCommand="DELETE FROM [Employees] WHERE [EmployeeID] = ? AND [LastName] = ? AND [FirstName] = ? AND [Title] = ? AND [BirthDate] = ? AND [City] = ?" InsertCommand="INSERT INTO [Employees] ( [EmployeeID],[LastName], [FirstName], [Title], [BirthDate], [City]) VALUES ( ?,?, ?, ?, ?, ?)" UpdateCommand="UPDATE [Employees] SET [LastName] = ?, [FirstName] = ?, [Title] = ?, [BirthDate] = ?, [City] = ? WHERE [EmployeeID] = ? AND [LastName] = ? AND [FirstName] = ? AND [Title] = ? AND [BirthDate] = ? AND [City] = ?"> <DeleteParameters> <asp:Parameter Name="original_EmployeeID" Type="Int32" /> <asp:Parameter Name="original_LastName" Type="String" /> <asp:Parameter Name="original_FirstName" Type="String" /> <asp:Parameter Name="original_Title" Type="String" /> <asp:Parameter Name="original_BirthDate" Type="DateTime" /> <asp:Parameter Name="original_City" Type="String" /> </DeleteParameters> <UpdateParameters> <asp:Parameter Name="LastName" Type="String" /> <asp:Parameter Name="FirstName" Type="String" /> <asp:Parameter Name="Title" Type="String" /> <asp:Parameter Name="BirthDate" Type="DateTime" /> <asp:Parameter Name="City" Type="String" /> <asp:Parameter Name="original_EmployeeID" Type="Int32" /> <asp:Parameter Name="original_LastName" Type="String" /> <asp:Parameter Name="original_FirstName" Type="String" /> <asp:Parameter Name="original_Title" Type="String" /> <asp:Parameter Name="original_BirthDate" Type="DateTime" /> <asp:Parameter Name="original_City" Type="String" /> </UpdateParameters> <InsertParameters> <asp:Parameter Name="EmployeeID" Type="Int32" /> <asp:Parameter Name="LastName" Type="String" /> <asp:Parameter Name="FirstName" Type="String" /> <asp:Parameter Name="Title" Type="String" /> <asp:Parameter Name="BirthDate" Type="DateTime" /> <asp:Parameter Name="City" Type="String" /> </InsertParameters> </asp:AccessDataSource> </div> </form> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites