Development Platform/Tools I use: (OS: XP with SP3 IDE: VS2010 with SP1 / ASP.NET 4.0 ADD-IN: Oracle ODT with ODAC 11.2 Database: Oracle 10.2g
This is a continuation of my yesterday's concern (please see How To Insert USERID (Type: Raw, Size: 16) from Ora_aspnet_users to Another Table ). I am now able to insert the Raw datatype if I will use HARDCODED username/userid in DropDownList. However, if I create a Datasource to become DYNAMIC the username/userid, it will thrown error as indicated in the above subject.
Please see below status/comments marked as DYNAMIC and HARDCODED:
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False" DataSourceID="SqlDataSource1"
DefaultMode="Insert" Height="50px" Width="125px">
<Fields>
<asp:BoundField DataField="COMMAND" HeaderText="COMMAND" SortExpression="COMMAND" />
<asp:TemplateField HeaderText="USERNAME" SortExpression="USERID">
<InsertItemTemplate>
<%--DYNAMIC USERNAME/USERID: If this and Insert Parameters are both uncomment, it will thrown out "Input string was not in a correct format."
or if this is uncomment and Insert Parameters is commented, it will thrown out "ORA-01465: invalid hex number" --%>
<asp:DropDownList ID="DropDownList1" runat="server" DataTextField="USERNAME" SelectedValue='<%# Bind("USERID") %>'
DataSourceID="SqlDataSource1" DataValueField="USERID">
</asp:DropDownList>
<%--HARDCODED USERNAME/USERID: If this and Insert Parameters are both uncomment, it will thrown out "Input string was not in a correct format."
or if this is uncomment and Insert Parameters is commented, it will run without error" --%>
<asp:DropDownList ID="DropDownList1" runat="server" DataTextField="USERNAME" DataValueField="USERID"
SelectedValue='<%# Bind("USERID") %>'>
<asp:ListItem Value="FB22E2F3E536046BE040A8C02AD63318">user1</asp:ListItem>
<asp:ListItem Value="FB87E5B90C2A1D47E040A8C02AD62C1D">user2</asp:ListItem>
</asp:DropDownList>
</InsertItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowInsertButton="True" />
</Fields>
</asp:DetailsView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>" SelectCommand="SELECT USERID, USERNAME FROM ORA_ASPNET_USERS"
InsertCommand="INSERT INTO INSTRUCT(COMMAND, USERID) VALUES (:COMMAND, :USERID)">
<InsertParameters>
<asp:ControlParameter Name="USERID" ControlID="DetailsView1$DropDownList1" PropertyName="SelectedValue"
Type="Byte" />
</InsertParameters>
</asp:SqlDataSource>
</asp:Content>