<asp:SqlDataSourceID="SqlDataSource2"runat="server"ConnectionString="<%$ ConnectionStrings:intranetnewConnectionString %>"
InsertCommand="INSERT INTO timeoffcalc(Typeoftime, amountoftime, employeeID) VALUES (@.TypeofTime, @.Amountoftime, @.emplID)"
I have the emplyID and Typeof time as a PK. When the user enters a duplicate value it just gives them the error page. Can i set a label or something to notify the user of the error instead of the error page?
UseTry- Catch block .. in the catch block put customized error message.
Hope it helps..
|||Problem is, I dont know how to do that when using a command object. All i have is the insertcommand function. Where would i put it?|||try
whatever.insert
catch ex as exception
lblError.text=ex.message
end try
|||
Boy I feel dumb. I am using details view with the insert. I dont see where the command is fired in the code. I click insert in the details view and it does it. Where would i put that code. I know how to do a try catch, but i am confused to where the code is fired with the click, here is my code.
<asp:SqlDataSource
ID="SqlDataSource1"runat="server"ConnectionString="<%$ ConnectionStrings:intranetnewConnectionString %>"
SelectCommand="SELECT emplID, lname + ' , ' + fname AS Name FROM employeemain ORDER BY lname">
</asp:SqlDataSource>
<asp:DetailsViewID="DetailsView1"runat="server"AutoGenerateRows="False"BackColor="White"
BorderColor="#DEDFDE"BorderStyle="None"BorderWidth="1px"CellPadding="4"DataSourceID="SqlDataSource2"
DefaultMode="Insert"ForeColor="Black"GridLines="Horizontal"Height="50px"Width="125px"DataKeyNames="emplID">
<FooterStyleBackColor="#CCCC99"/>
<EditRowStyleBackColor="#CE5D5A"Font-Bold="True"ForeColor="White"/>
<RowStyleBackColor="#F7F7DE"/>
<PagerStyleBackColor="#F7F7DE"ForeColor="Black"HorizontalAlign="Right"/>
<Fields>
<asp:TemplateFieldHeaderText="Employee's Name"SortExpression="emplID">
<EditItemTemplate>
<asp:TextBoxID="TextBox2"runat="server"Text='<%# Bind("emplID") %>'></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:DropDownListID="DropDownList2"runat="server"DataSourceID="SqlDataSource1"
DataTextField="Name"DataValueField="emplID"SelectedValue='<%# Bind("emplID") %>'>
</asp:DropDownList>
</InsertItemTemplate>
<ItemTemplate>
<asp:LabelID="Label2"runat="server"Text='<%# Bind("emplID") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateFieldHeaderText="Type of Time"SortExpression="Typeoftime">
<EditItemTemplate>
<asp:TextBoxID="TextBox1"runat="server"Text='<%# Bind("Typeoftime") %>'></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:DropDownListID="DropDownList1"runat="server"SelectedValue='<%# Bind("Typeoftime") %>'>
<asp:ListItem>Vacation</asp:ListItem>
<asp:ListItem>Personal</asp:ListItem>
<asp:ListItem>Sick</asp:ListItem>
<asp:ListItem></asp:ListItem>
</asp:DropDownList>
</InsertItemTemplate>
<ItemTemplate>
<asp:LabelID="Label1"runat="server"Text='<%# Bind("Typeoftime") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundFieldDataField="amountoftime"HeaderText="Amount per Month"SortExpression="amountoftime"/>
<asp:CommandFieldShowInsertButton="True"/>
</Fields>
<HeaderStyleBackColor="#6B696B"Font-Bold="True"ForeColor="White"/>
<AlternatingRowStyleBackColor="White"/>
</asp:DetailsView>
<asp:SqlDataSourceID="SqlDataSource2"runat="server"ConnectionString="<%$ ConnectionStrings:intranetnewConnectionString %>"
InsertCommand="INSERT INTO timeoffcalc(Typeoftime, amountoftime, employeeID) VALUES (@.TypeofTime, @.Amountoftime, @.emplID)"
SelectCommand="SELECT timeoffcalc.Typeoftime, timeoffcalc.amountoftime, employeemain.emplID FROM employeemain INNER JOIN timeoffcalc ON employeemain.emplID = timeoffcalc.employeeID">
<InsertParameters>
<asp:ParameterName="TypeofTime"/>
<asp:ParameterName="Amountoftime"/>
<asp:ParameterName="emplID"/>
</InsertParameters>
</asp:SqlDataSource>
<asp:LabelID="Label3"runat="server"Font-Italic="True"Font-Size="Large"ForeColor="Red"
Text="It has been Added"Visible="False"></asp:Label><br/>
<asp:ButtonID="Button1"runat="server"Text="Add Another"Visible="False"/><br/>
</asp:Content>
|||Ah...
Well try catching the sqldatasource2_inserted event, I believe you can catch the errors there, and then set the e parameter to something to say you handled the error, but I've never actually done it.
No comments:
Post a Comment