Saturday, March 31, 2012

String was not recognized as a valid Boolean

Why am I getting this error for Budget?
Error: An exception of type 'System.FormatException' occurred in
mscorlib.dll but was not handled in user code
Additional information: String was not recognized as a valid Boolean.
Public Sub UpdateCustomer_DashboardGraphs(ByVal sender As Object, ByVal
e As System.EventArgs)
For Each gvr As GridViewRow In gv_dashboard.Rows
If gvr.RowType = DataControlRowType.DataRow Then
'//--IDs
Dim intCustomerID As String =
CType(gvr.FindControl("lblCustomerID"), Label).Text.Trim()
'//--Textboxes
Dim intBudget As Integer
Try
intBudget = CType(CType(gvr.FindControl("txtBudget"),
TextBox).Text.Trim(), Int32)
Catch
intBudget = CType(0, Int32)
End Try
'//--Checkboxes
Dim intCurrentMonthCollections As Boolean =
CType(gvr.FindControl("chbx_CurrentMonthCollections"), CheckBox).Checked
Dim intRevenueByMonth As Boolean =
CType(gvr.FindControl("chbx_RevenueByMonth"), CheckBox).Checked
Dim intPDCsCCsMonthly As Boolean =
CType(gvr.FindControl("chbx_PDCsCCsMonthly"), CheckBox).Checked
Dim intRevenueByClient As Boolean =
CType(gvr.FindControl("chbx_RevenueByClient"), CheckBox).Checked
'//--Assign UpdateParameters
If intCurrentMonthCollections = True Then
ds_dashboard.UpdateParameters("CurrentMonthCollections").DefaultValue = 1
Else
ds_dashboard.UpdateParameters("CurrentMonthCollections").DefaultValue = 0
End If
...
ds_dashboard.UpdateParameters("Budget").DefaultValue =
intBudget
ds_dashboard.Update()
End If
Next
End Sub
--
dba123which line is the error on?
Karl
http://www.openmymind.net/
"dba123" <dba123@.discussions.microsoft.com> wrote in message
news:0FCAE9F2-E68A-4794-9A68-BAF5877BA533@.microsoft.com...
> Why am I getting this error for Budget?
> Error: An exception of type 'System.FormatException' occurred in
> mscorlib.dll but was not handled in user code
> Additional information: String was not recognized as a valid Boolean.
>
> Public Sub UpdateCustomer_DashboardGraphs(ByVal sender As Object, ByVal
> e As System.EventArgs)
> For Each gvr As GridViewRow In gv_dashboard.Rows
> If gvr.RowType = DataControlRowType.DataRow Then
> '//--IDs
> Dim intCustomerID As String =
> CType(gvr.FindControl("lblCustomerID"), Label).Text.Trim()
> '//--Textboxes
> Dim intBudget As Integer
> Try
> intBudget = CType(CType(gvr.FindControl("txtBudget"),
> TextBox).Text.Trim(), Int32)
> Catch
> intBudget = CType(0, Int32)
> End Try
> '//--Checkboxes
> Dim intCurrentMonthCollections As Boolean =
> CType(gvr.FindControl("chbx_CurrentMonthCollections"), CheckBox).Checked
> Dim intRevenueByMonth As Boolean =
> CType(gvr.FindControl("chbx_RevenueByMonth"), CheckBox).Checked
> Dim intPDCsCCsMonthly As Boolean =
> CType(gvr.FindControl("chbx_PDCsCCsMonthly"), CheckBox).Checked
> Dim intRevenueByClient As Boolean =
> CType(gvr.FindControl("chbx_RevenueByClient"), CheckBox).Checked
> '//--Assign UpdateParameters
> If intCurrentMonthCollections = True Then
> ds_dashboard.UpdateParameters("CurrentMonthCollections").DefaultValue = 1
> Else
> ds_dashboard.UpdateParameters("CurrentMonthCollections").DefaultValue = 0
> End If
> ...
> ds_dashboard.UpdateParameters("Budget").DefaultValue =
> intBudget
> ds_dashboard.Update()
> End If
> Next
> End Sub
> --
> dba123
String was not recognized as a valid Boolean
For Line: ds_dashboard.Update() in my update function
My SQLDataSource:
--
<asp:SqlDataSource
ID="ds_dashboard"
runat="server"
ConnectionString="<%$ ConnectionStrings:DashboardConn %>"
SelectCommand="aspx_Get_Customer_DashboardGraphs"
SelectCommandType="StoredProcedure"
UpdateCommand="aspx_Update_Customer_DashboardGraphs"
UpdateCommandType="StoredProcedure"
>
<UpdateParameters>
<asp:Parameter Name="CustomerID" Type="Int32" />
<asp:Parameter Name="Budget" Type="Int32" />
<asp:Parameter Name="CurrentMonthCollections"
Type="Boolean" />
<asp:Parameter Name="RevenueByMonth" Type="Boolean" />
<asp:Parameter Name="PDCsCCsMonthly" Type="Boolean" />
<asp:Parameter Name="RevenueByClient" Type="Boolean" />
</UpdateParameters>
</asp:SqlDataSource>
My GridView:
--
<asp:GridView
ID="gv_dashboard"
runat="server"
AutoGenerateColumns="False"
DataSourceID="ds_dashboard"
CellPadding="4"
ForeColor="#333333"
ShowFooter="True"
GridLines="None"
CssClass="FormatFont">
<Columns>
<asp:TemplateField HeaderText="Cust #"
SortExpression="CustomerID">
<HeaderStyle HorizontalAlign="center"></HeaderStyle>
<ItemTemplate>
<asp:Label runat="server" id="lblCustomerID"
Text='<%# Bind("Customer") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Budget" SortExpression="Name"
ItemStyle-HorizontalAlign="Center">
<HeaderStyle HorizontalAlign="Left"></HeaderStyle>
<ItemTemplate>
<asp:TextBox width="55px" MaxLength="10"
ID="txtBudget" Text='<%# Bind("Budget") %>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Current Month Collections"
SortExpression="Name" ItemStyle-HorizontalAlign="Center">
<HeaderStyle HorizontalAlign="center"></HeaderStyle>
<ItemTemplate>
<asp:checkbox runat="server"
Id="chbx_CurrentMonthCollections" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Revenue By Month"
SortExpression="Name" ItemStyle-HorizontalAlign="Center">
<HeaderStyle HorizontalAlign="center"></HeaderStyle>
<ItemTemplate>
<asp:checkbox runat="server"
Id="chbx_RevenueByMonth" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="PDCs & CCS Monthly"
SortExpression="Name" ItemStyle-HorizontalAlign="Center">
<HeaderStyle HorizontalAlign="center"></HeaderStyle>
<ItemTemplate>
<asp:checkbox runat="server"
Id="chbx_PDCsCCsMonthly" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Revenue By Client"
SortExpression="Name" ItemStyle-HorizontalAlign="Center">
<HeaderStyle HorizontalAlign="center"></HeaderStyle>
<ItemTemplate>
<asp:checkbox runat="server"
Id="chbx_RevenueByClient" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="#5D7B9D" Font-Bold="True"
ForeColor="White" />
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<EditRowStyle BackColor="#DDDDDD" />
<SelectedRowStyle BackColor="#DDDDDD" Font-Bold="True"
ForeColor="#333333" />
<PagerStyle BackColor="#284775" ForeColor="White"
HorizontalAlign="Center" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True"
ForeColor="White" />
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
</asp:GridView>
My Update Command (Stored Procedure):
----
ALTER PROCEDURE [dbo].[aspx_Update_Customer_DashboardGraphs]
@.CustomerID bigint,
@.Budget int,
@.CurrentMonthCollections bit,
@.RevenueByMonth bit,
@.PDCsCCsMonthly bit,
@.RevenueByClient bit
AS
BEGIN
UPDATE dbo.Customer_DashboardGraphs
SET Budget = @.Budget,
CurrentMonthCollections = @.CurrentMonthCollections,
RevenueByMonth = @.RevenueByMonth,
PDCsCCsMonthly = @.PDCsCCsMonthly,
RevenueByClient = @.RevenueByClient
WHERE Customer_DashboardGraphs.Customer = @.CustomerID
END
My Table Schema:
--
CREATE TABLE [dbo].[Customer_DashboardGraphs](
[Customer] [nchar](10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[DashboardGraphID] [bit] NULL,
[CurrentMonthCollections] [bit] NULL,
[RevenueByMonth] [bit] NULL,
[PDCsCCsMonthly] [bit] NULL,
[RevenueByClient] [bit] NULL,
[Budget] [int] NULL
) ON [PRIMARY]
Stack Trace:
String was not recognized as a valid Boolean.
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information abou
t
the error and where it originated in the code.
Exception Details: System.FormatException: String was not recognized as a
valid Boolean.
Source Error:
Line 53:
ds_dashboard.UpdateParameters("Budget").DefaultValue = intBudget
Line 54:
Line 55: ds_dashboard.Update()
Line 56: End If
Line 57: Next
Source File:
Y:\inetpub\wwwroot\apex\webapps\dashboar
d\dashboard\index.aspx.vb Line: 5
5
Stack Trace:
--
[FormatException: String was not recognized as a valid Boolean.]
System.Boolean.Parse(String value) +2709172
System.String.System.IConvertible.ToBoolean(IFormatProvider provider) +12
System.Convert.ChangeType(Object value, TypeCode typeCode,
IFormatProvider provider) +98
System.Web.UI.WebControls.Parameter.GetValue(Object value, String
defaultValue, TypeCode type, Boolean convertEmptyStringToNull, Boolean
ignoreNullableTypeChanges) +257
System.Web.UI.WebControls.Parameter.get_ParameterValue() +91
System.Web.UI.WebControls.ParameterCollection.GetValues(HttpContext
context, Control control) +282
System.Web.UI.WebControls.SqlDataSourceView.InitializeParameters(DbCommand
command, ParameterCollection parameters, IDictionary exclusionList) +344
System.Web.UI.WebControls.SqlDataSourceView.ExecuteUpdate(IDictionary
keys, IDictionary values, IDictionary oldValues) +449
System.Web.UI.WebControls.SqlDataSourceView.Update(IDictionary keys,
IDictionary values, IDictionary oldValues) +37
System.Web.UI.WebControls.SqlDataSource.Update() +42
dashboard._Default.UpdateCustomer_DashboardGraphs(Object sender,
EventArgs e) in
Y:\inetpub\wwwroot\sss\webapps\dashboard
\dashboard\index.aspx.vb:55
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +96
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
+116
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePo
stBackEvent(String eventArgument) +31
System.Web.UI.Page. RaisePostBackEvent(IPostBackEventHandler
sourceControl, String eventArgument) +32
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +72
System.Web.UI.Page.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3837
dba123
"Karl Seguin [MVP]" wrote:

> which line is the error on?
> Karl
> --
> http://www.openmymind.net/
>
> "dba123" <dba123@.discussions.microsoft.com> wrote in message
> news:0FCAE9F2-E68A-4794-9A68-BAF5877BA533@.microsoft.com...
>
>
Ok, I changed these since SQL Server bit is expecting true or false, not 1 o
r
zero...that would be for an integer db field:
If intCurrentMonthCollections = True Then
ds_dashboard.UpdateParameters("CurrentMonthCollections").DefaultValue = 1
Else
ds_dashboard.UpdateParameters("CurrentMonthCollections").DefaultValue = 0
End If
to
If intCurrentMonthCollections = True Then
ds_dashboard.UpdateParameters("CurrentMonthCollections").DefaultValue = "tru
e"
Else
ds_dashboard.UpdateParameters("CurrentMonthCollections").DefaultValue =
"false"
End If
The error goes away but it's still not updating those bit fields in my table
dba123
"dba123" wrote:
> String was not recognized as a valid Boolean
> For Line: ds_dashboard.Update() in my update function
>
> My SQLDataSource:
> --
> <asp:SqlDataSource
> ID="ds_dashboard"
> runat="server"
> ConnectionString="<%$ ConnectionStrings:DashboardConn %>"
> SelectCommand="aspx_Get_Customer_DashboardGraphs"
> SelectCommandType="StoredProcedure"
> UpdateCommand="aspx_Update_Customer_DashboardGraphs"
> UpdateCommandType="StoredProcedure"
> <UpdateParameters>
> <asp:Parameter Name="CustomerID" Type="Int32" />
> <asp:Parameter Name="Budget" Type="Int32" />
> <asp:Parameter Name="CurrentMonthCollections"
> Type="Boolean" />
> <asp:Parameter Name="RevenueByMonth" Type="Boolean" />
> <asp:Parameter Name="PDCsCCsMonthly" Type="Boolean" />
> <asp:Parameter Name="RevenueByClient" Type="Boolean" /
>
> </UpdateParameters>
> </asp:SqlDataSource>
>
> My GridView:
> --
> <asp:GridView
> ID="gv_dashboard"
> runat="server"
> AutoGenerateColumns="False"
> DataSourceID="ds_dashboard"
> CellPadding="4"
> ForeColor="#333333"
> ShowFooter="True"
> GridLines="None"
> CssClass="FormatFont">
> <Columns>
> <asp:TemplateField HeaderText="Cust #"
> SortExpression="CustomerID">
> <HeaderStyle HorizontalAlign="center"></HeaderStyle>
> <ItemTemplate>
> <asp:Label runat="server" id="lblCustomerID"
> Text='<%# Bind("Customer") %>' />
> </ItemTemplate>
> </asp:TemplateField>
> <asp:TemplateField HeaderText="Budget" SortExpression="Nam
e"
> ItemStyle-HorizontalAlign="Center">
> <HeaderStyle HorizontalAlign="Left"></HeaderStyle>
> <ItemTemplate>
> <asp:TextBox width="55px" MaxLength="10"
> ID="txtBudget" Text='<%# Bind("Budget") %>' runat="server" />
> </ItemTemplate>
> </asp:TemplateField>
> <asp:TemplateField HeaderText="Current Month Collections"
> SortExpression="Name" ItemStyle-HorizontalAlign="Center">
> <HeaderStyle HorizontalAlign="center"></HeaderStyle>
> <ItemTemplate>
> <asp:checkbox runat="server"
> Id="chbx_CurrentMonthCollections" />
> </ItemTemplate>
> </asp:TemplateField>
> <asp:TemplateField HeaderText="Revenue By Month"
> SortExpression="Name" ItemStyle-HorizontalAlign="Center">
> <HeaderStyle HorizontalAlign="center"></HeaderStyle>
> <ItemTemplate>
> <asp:checkbox runat="server"
> Id="chbx_RevenueByMonth" />
> </ItemTemplate>
> </asp:TemplateField>
> <asp:TemplateField HeaderText="PDCs & CCS Monthly"
> SortExpression="Name" ItemStyle-HorizontalAlign="Center">
> <HeaderStyle HorizontalAlign="center"></HeaderStyle>
> <ItemTemplate>
> <asp:checkbox runat="server"
> Id="chbx_PDCsCCsMonthly" />
> </ItemTemplate>
> </asp:TemplateField>
> <asp:TemplateField HeaderText="Revenue By Client"
> SortExpression="Name" ItemStyle-HorizontalAlign="Center">
> <HeaderStyle HorizontalAlign="center"></HeaderStyle>
> <ItemTemplate>
> <asp:checkbox runat="server"
> Id="chbx_RevenueByClient" />
> </ItemTemplate>
> </asp:TemplateField>
> </Columns>
> <FooterStyle BackColor="#5D7B9D" Font-Bold="True"
> ForeColor="White" />
> <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
> <EditRowStyle BackColor="#DDDDDD" />
> <SelectedRowStyle BackColor="#DDDDDD" Font-Bold="True"
> ForeColor="#333333" />
> <PagerStyle BackColor="#284775" ForeColor="White"
> HorizontalAlign="Center" />
> <HeaderStyle BackColor="#5D7B9D" Font-Bold="True"
> ForeColor="White" />
> <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
> </asp:GridView>
>
> My Update Command (Stored Procedure):
> ----
> ALTER PROCEDURE [dbo].[aspx_Update_Customer_DashboardGraphs]
> @.CustomerID bigint,
> @.Budget int,
> @.CurrentMonthCollections bit,
> @.RevenueByMonth bit,
> @.PDCsCCsMonthly bit,
> @.RevenueByClient bit
> AS
> BEGIN
> UPDATE dbo.Customer_DashboardGraphs
> SET Budget = @.Budget,
> CurrentMonthCollections = @.CurrentMonthCollections,
> RevenueByMonth = @.RevenueByMonth,
> PDCsCCsMonthly = @.PDCsCCsMonthly,
> RevenueByClient = @.RevenueByClient
> WHERE Customer_DashboardGraphs.Customer = @.CustomerID
> END
>
> My Table Schema:
> --
> CREATE TABLE [dbo].[Customer_DashboardGraphs](
> [Customer] [nchar](10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
> [DashboardGraphID] [bit] NULL,
> [CurrentMonthCollections] [bit] NULL,
> [RevenueByMonth] [bit] NULL,
> [PDCsCCsMonthly] [bit] NULL,
> [RevenueByClient] [bit] NULL,
> [Budget] [int] NULL
> ) ON [PRIMARY]
> Stack Trace:
> String was not recognized as a valid Boolean.
> Description: An unhandled exception occurred during the execution of the
> current web request. Please review the stack trace for more information ab
out
> the error and where it originated in the code.
> Exception Details: System.FormatException: String was not recognized as a
> valid Boolean.
> Source Error:
>
> Line 53:
> ds_dashboard.UpdateParameters("Budget").DefaultValue = intBudget
> Line 54:
> Line 55: ds_dashboard.Update()
> Line 56: End If
> Line 57: Next
>
> Source File:
> Y:\inetpub\wwwroot\apex\webapps\dashboar
d\dashboard\index.aspx.vb Line:
55
>
> Stack Trace:
> --
> [FormatException: String was not recognized as a valid Boolean.]
> System.Boolean.Parse(String value) +2709172
> System.String.System.IConvertible.ToBoolean(IFormatProvider provider) +
12
> System.Convert.ChangeType(Object value, TypeCode typeCode,
> IFormatProvider provider) +98
> System.Web.UI.WebControls.Parameter.GetValue(Object value, String
> defaultValue, TypeCode type, Boolean convertEmptyStringToNull, Boolean
> ignoreNullableTypeChanges) +257
> System.Web.UI.WebControls.Parameter.get_ParameterValue() +91
> System.Web.UI.WebControls.ParameterCollection.GetValues(HttpContext
> context, Control control) +282
> System.Web.UI.WebControls.SqlDataSourceView.InitializeParameters(DbCommand
> command, ParameterCollection parameters, IDictionary exclusionList) +344
> System.Web.UI.WebControls.SqlDataSourceView.ExecuteUpdate(IDictionary
> keys, IDictionary values, IDictionary oldValues) +449
> System.Web.UI.WebControls.SqlDataSourceView.Update(IDictionary keys,
> IDictionary values, IDictionary oldValues) +37
> System.Web.UI.WebControls.SqlDataSource.Update() +42
> dashboard._Default.UpdateCustomer_DashboardGraphs(Object sender,
> EventArgs e) in
> Y:\inetpub\wwwroot\sss\webapps\dashboard
\dashboard\index.aspx.vb:55
> System.Web.UI.WebControls.Button.OnClick(EventArgs e) +96
> System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgumen
t)
> +116
> System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.Raise
PostBackEvent(String eventArgument) +31
> System.Web.UI.Page. RaisePostBackEvent(IPostBackEventHandler
> sourceControl, String eventArgument) +32
> System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +72
> System.Web.UI.Page.ProcessRequestMain(Boolean
> includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3837
>
> --
> dba123
>
> "Karl Seguin [MVP]" wrote:
>
Why don't you just set it to true/false instead of "true"/"fale"
ds_dashboard.UpdateParameters("CurrentMonthCollections").DefaultValue =
intCurrentMonthCollections
and why is that var prefixed with "int" if it's a bool? Prefixing isn't
really used much anymore anyways..
Karl
http://www.openmymind.net/
http://www.fuelindustries.com/
"dba123" <dba123@.discussions.microsoft.com> wrote in message
news:460D12E2-2F3F-446F-BBA3-CA80CDAE09F1@.microsoft.com...
> Ok, I changed these since SQL Server bit is expecting true or false, not 1
> or
> zero...that would be for an integer db field:
> If intCurrentMonthCollections = True Then
> ds_dashboard.UpdateParameters("CurrentMonthCollections").DefaultValue = 1
> Else
> ds_dashboard.UpdateParameters("CurrentMonthCollections").DefaultValue = 0
> End If
> to
> If intCurrentMonthCollections = True Then
> ds_dashboard.UpdateParameters("CurrentMonthCollections").DefaultValue =
> "true"
> Else
> ds_dashboard.UpdateParameters("CurrentMonthCollections").DefaultValue =
> "false"
> End If
> The error goes away but it's still not updating those bit fields in my
> table
>
> --
> dba123
>
> "dba123" wrote:
>
Looks like I was missing the checked attribute in my GridView checkboxes'
I changed them to this for example but got an error
<HeaderStyle HorizontalAlign="center"></HeaderStyle>
<ItemTemplate>
<asp:checkbox runat="server"
Id="chbx_CurrentMonthCollections" Checked='<%#
Bind("CurrentMonthCollections") %>'/>
</ItemTemplate>
</asp:TemplateField>
Error: An exception of type 'System.InvalidCastException' occurred in
Microsoft.VisualBasic.dll but was not handled in user code
Additional information: Conversion from type 'DBNull' to type 'Boolean' is
not valid.
--
dba123
"dba123" wrote:

> Why am I getting this error for Budget?
> Error: An exception of type 'System.FormatException' occurred in
> mscorlib.dll but was not handled in user code
> Additional information: String was not recognized as a valid Boolean.
>
> Public Sub UpdateCustomer_DashboardGraphs(ByVal sender As Object, ByVa
l
> e As System.EventArgs)
> For Each gvr As GridViewRow In gv_dashboard.Rows
> If gvr.RowType = DataControlRowType.DataRow Then
> '//--IDs
> Dim intCustomerID As String =
> CType(gvr.FindControl("lblCustomerID"), Label).Text.Trim()
> '//--Textboxes
> Dim intBudget As Integer
> Try
> intBudget = CType(CType(gvr.FindControl("txtBudget"),
> TextBox).Text.Trim(), Int32)
> Catch
> intBudget = CType(0, Int32)
> End Try
> '//--Checkboxes
> Dim intCurrentMonthCollections As Boolean =
> CType(gvr.FindControl("chbx_CurrentMonthCollections"), CheckBox).Checked
> Dim intRevenueByMonth As Boolean =
> CType(gvr.FindControl("chbx_RevenueByMonth"), CheckBox).Checked
> Dim intPDCsCCsMonthly As Boolean =
> CType(gvr.FindControl("chbx_PDCsCCsMonthly"), CheckBox).Checked
> Dim intRevenueByClient As Boolean =
> CType(gvr.FindControl("chbx_RevenueByClient"), CheckBox).Checked
> '//--Assign UpdateParameters
> If intCurrentMonthCollections = True Then
> ds_dashboard.UpdateParameters("CurrentMonthCollections").DefaultValue = 1
> Else
> ds_dashboard.UpdateParameters("CurrentMonthCollections").DefaultValue = 0
> End If
> ...
> ds_dashboard.UpdateParameters("Budget").DefaultValue =
> intBudget
> ds_dashboard.Update()
> End If
> Next
> End Sub
> --
> dba123
I still think prefix is useful for readablility.
Anyway, I trued True and False instead of "True" and "False" it made no
diffrence. Check out my previous post.
dba123
"Karl Seguin [MVP]" wrote:
> Why don't you just set it to true/false instead of "true"/"fale"
> ds_dashboard.UpdateParameters("CurrentMonthCollections").DefaultValue =
> intCurrentMonthCollections
> and why is that var prefixed with "int" if it's a bool? Prefixing isn't
> really used much anymore anyways..
> Karl
> --
> http://www.openmymind.net/
> http://www.fuelindustries.com/
>
> "dba123" <dba123@.discussions.microsoft.com> wrote in message
> news:460D12E2-2F3F-446F-BBA3-CA80CDAE09F1@.microsoft.com...
The answer to your question is..because I haven't cleaned up my code, I'll d
o
that at the end and change the prefixes, right now I just want to get this
thing to work!
dba123
"Karl Seguin [MVP]" wrote:
> Why don't you just set it to true/false instead of "true"/"fale"
> ds_dashboard.UpdateParameters("CurrentMonthCollections").DefaultValue =
> intCurrentMonthCollections
> and why is that var prefixed with "int" if it's a bool? Prefixing isn't
> really used much anymore anyways..
> Karl
> --
> http://www.openmymind.net/
> http://www.fuelindustries.com/
>
> "dba123" <dba123@.discussions.microsoft.com> wrote in message
> news:460D12E2-2F3F-446F-BBA3-CA80CDAE09F1@.microsoft.com...
you need to check for null. Either don't allow null in that column and use
a default value, use select IsNull(CurrentMonthCollections, false) as
CurrentMonthCollections for selecting a default value, or check for null
before binding, you can do that inline via:
<%# ( Bind("CurrentMonthCollections") == DBNull.Value) ? false : true; %>
Karl
http://www.openmymind.net/
http://www.fuelindustries.com/
"dba123" <dba123@.discussions.microsoft.com> wrote in message
news:575A281C-2B41-41BD-AC49-3F5A8F0A207B@.microsoft.com...
> Looks like I was missing the checked attribute in my GridView checkboxes'
> I changed them to this for example but got an error
> <HeaderStyle HorizontalAlign="center"></HeaderStyle>
> <ItemTemplate>
> <asp:checkbox runat="server"
> Id="chbx_CurrentMonthCollections" Checked='<%#
> Bind("CurrentMonthCollections") %>'/>
> </ItemTemplate>
> </asp:TemplateField>
> Error: An exception of type 'System.InvalidCastException' occurred in
> Microsoft.VisualBasic.dll but was not handled in user code
> Additional information: Conversion from type 'DBNull' to type 'Boolean' is
> not valid.
> --
> dba123
>
> "dba123" wrote:
>
Thanks you are correct. What I did was changed my SelectCommand stored proc
to replace the nulls with 0 instead.
see here for my latest code. Now no errors but also no updates happening on
the DB side:
Here's a recap of the code I have now...trying to figure out why with no
errors, is it still not updating my table with the results:
<asp:SqlDataSource
ID="ds_dashboard"
runat="server"
ConnectionString="<%$ ConnectionStrings:DashboardConn %>"
SelectCommand="aspx_Get_Customer_DashboardGraphs"
SelectCommandType="StoredProcedure"
UpdateCommand="aspx_Update_Customer_DashboardGraphs"
UpdateCommandType="StoredProcedure"
>
<UpdateParameters>
<asp:Parameter Name="CustomerID" Type="Int32" />
<asp:Parameter Name="Budget" Type="Int32" />
<asp:Parameter Name="CurrentMonthCollections"
Type="Boolean" />
<asp:Parameter Name="RevenueByMonth" Type="Boolean" />
<asp:Parameter Name="PDCsCCsMonthly" Type="Boolean" />
<asp:Parameter Name="RevenueByClient" Type="Boolean" />
</UpdateParameters>
</asp:SqlDataSource>
<asp:GridView
ID="gv_dashboard"
runat="server"
AutoGenerateColumns="False"
DataSourceID="ds_dashboard"
CellPadding="4"
ForeColor="#333333"
ShowFooter="True"
GridLines="None"
CssClass="FormatFont">
<Columns>
<asp:TemplateField HeaderText="Cust #"
SortExpression="CustomerID">
<HeaderStyle HorizontalAlign="center"></HeaderStyle>
<ItemTemplate>
<asp:Label runat="server" id="lblCustomerID"
Text='<%# Bind("Customer") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Budget" SortExpression="Name"
ItemStyle-HorizontalAlign="Center">
<HeaderStyle HorizontalAlign="Left"></HeaderStyle>
<ItemTemplate>
<asp:TextBox width="55px" MaxLength="10"
ID="txtBudget" Text='<%# Bind("Budget") %>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Current Month Collections"
SortExpression="Name" ItemStyle-HorizontalAlign="Center">
<HeaderStyle HorizontalAlign="center"></HeaderStyle>
<ItemTemplate>
<asp:checkbox runat="server"
Id="chbx_CurrentMonthCollections" Checked='<%#
Bind("CurrentMonthCollections") %>'/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Revenue By Month"
SortExpression="Name" ItemStyle-HorizontalAlign="Center">
<HeaderStyle HorizontalAlign="center"></HeaderStyle>
<ItemTemplate>
<asp:checkbox runat="server"
Id="chbx_RevenueByMonth" Checked='<%# Bind("RevenueByMonth") %>'/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="PDCs & CCS Monthly"
SortExpression="Name" ItemStyle-HorizontalAlign="Center">
<HeaderStyle HorizontalAlign="center"></HeaderStyle>
<ItemTemplate>
<asp:checkbox runat="server"
Id="chbx_PDCsCCsMonthly" Checked='<%# Bind("PDCsCCsMonthly") %>'/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Revenue By Client"
SortExpression="Name" ItemStyle-HorizontalAlign="Center">
<HeaderStyle HorizontalAlign="center"></HeaderStyle>
<ItemTemplate>
<asp:checkbox runat="server"
Id="chbx_RevenueByClient" Checked='<%# Bind("RevenueByClient") %>'/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="#5D7B9D" Font-Bold="True"
ForeColor="White" />
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<EditRowStyle BackColor="#DDDDDD" />
<SelectedRowStyle BackColor="#DDDDDD" Font-Bold="True"
ForeColor="#333333" />
<PagerStyle BackColor="#284775" ForeColor="White"
HorizontalAlign="Center" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True"
ForeColor="White" />
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
</asp:GridView>
Stored proc behind the Select Command
ALTER PROCEDURE [dbo].[aspx_Get_Customer_DashboardGraphs]
AS
BEGIN
SELECT Customer,
ISNULL(Budget, 0) as Budget,
ISNULL(CurrentMonthCollections, 0) as CurrentMonthCollections,
ISNULL(RevenueByMonth, 0)as RevenueByMonth,
ISNULL(PDCsCCsMonthly, 0) as PDCsCCsMonthly,
ISNULL(RevenueByClient, 0) as RevenueByClient
FROM v_Get_Customer_DashboardGraphs_Data
ORDER BY Customer ASC
END
Stored proc behind the Update Command:
ALTER PROCEDURE [dbo].[aspx_Update_Customer_DashboardGraphs]
@.CustomerID bigint,
@.Budget bigint,
@.CurrentMonthCollections bit,
@.RevenueByMonth bit,
@.PDCsCCsMonthly bit,
@.RevenueByClient bit
AS
BEGIN
UPDATE dbo.Customer_DashboardGraphs
SET Budget = @.Budget,
CurrentMonthCollections = @.CurrentMonthCollections,
RevenueByMonth = @.RevenueByMonth,
PDCsCCsMonthly = @.PDCsCCsMonthly,
RevenueByClient = @.RevenueByClient
WHERE Customer_DashboardGraphs.Customer = @.CustomerID
END
-- Code Behind
---
Public Sub UpdateCustomer_DashboardGraphs(ByVal sender As Object, ByVal
e As System.EventArgs)
For Each gvr As GridViewRow In gv_dashboard.Rows
If gvr.RowType = DataControlRowType.DataRow Then
'//--IDs
Dim intCustomerID As String =
CType(gvr.FindControl("lblCustomerID"), Label).Text.Trim()
'//--Textboxes
Dim intBudget As Integer
Try
intBudget = CType(CType(gvr.FindControl("txtBudget"),
TextBox).Text.Trim(), Int32)
Catch
intBudget = 0
End Try
'//--Checkboxes
Dim bolCurrentMonthCollections As Boolean =
CType(gvr.FindControl("chbx_CurrentMonthCollections"), CheckBox).Checked
Dim bolRevenueByMonth As Boolean =
CType(gvr.FindControl("chbx_RevenueByMonth"), CheckBox).Checked
Dim bolPDCsCCsMonthly As Boolean =
CType(gvr.FindControl("chbx_PDCsCCsMonthly"), CheckBox).Checked
Dim bolRevenueByClient As Boolean =
CType(gvr.FindControl("chbx_RevenueByClient"), CheckBox).Checked
'//--Assign UpdateParameters
If bolCurrentMonthCollections = True Then
ds_dashboard.UpdateParameters("CurrentMonthCollections").DefaultValue = True
Else
ds_dashboard.UpdateParameters("CurrentMonthCollections").DefaultValue = Fals
e
End If
If bolRevenueByMonth = True Then
ds_dashboard.UpdateParameters("RevenueByMonth").DefaultValue = True
Else
ds_dashboard.UpdateParameters("RevenueByMonth").DefaultValue = False
End If
If bolPDCsCCsMonthly = True Then
ds_dashboard.UpdateParameters("PDCsCCsMonthly").DefaultValue = True
Else
ds_dashboard.UpdateParameters("PDCsCCsMonthly").DefaultValue = False
End If
If bolRevenueByClient = True Then
ds_dashboard.UpdateParameters("RevenueByClient").DefaultValue = True
Else
ds_dashboard.UpdateParameters("RevenueByClient").DefaultValue = False
End If
ds_dashboard.UpdateParameters("Budget").DefaultValue =
intBudget
ds_dashboard.Update()
End If
Next
End Sub
dba123
"Karl Seguin [MVP]" wrote:

> you need to check for null. Either don't allow null in that column and us
e
> a default value, use select IsNull(CurrentMonthCollections, false) as
> CurrentMonthCollections for selecting a default value, or check for null
> before binding, you can do that inline via:
> <%# ( Bind("CurrentMonthCollections") == DBNull.Value) ? false : true; %>
> Karl
> --
> http://www.openmymind.net/
> http://www.fuelindustries.com/
>
> "dba123" <dba123@.discussions.microsoft.com> wrote in message
> news:575A281C-2B41-41BD-AC49-3F5A8F0A207B@.microsoft.com...
>
>

0 comments:

Post a Comment