DataSource Controls :: Passing Null Value To A Decimal Datatupe Field?
Jun 16, 2010
I have req where i have to pass null value,if value coming from db is null.Problem here is the field datatype is 'Decimal' so all the time even though value is null ,its passing as zero.How can I pass a null value to decimal field in C#.
I'm having a spot of trouble figure out how to write my linq query so that is allows a decimal field in my datatable to be null
Right now I have this:
[Code]....
But it's not working. The error I am getting is: Cannot cast DBNull.Value to type 'System.Decimal'. Please use a nullable type.so how do I get it to allow program_ar_id to be null?
I have a SP db.sp_GetProfitMatrix , it takes nullable integer parameters, for which I have a default . It refuses me when I try to pass a null value (the two date parameters are nullable in the Linq designer) I get {"Nullable object must have a value."} error. here is my code:
int? nlDt = null; var pms = from p in db.sp_GetProfitMatrix( nlDt.Value, nlDt.Value) select new { p.Volume, p.GrossSales, p.NetSales, p.COGS };
I am making a website to store invoices so i can mail them to clients. So i got a table for clients, invoices and one with invoice products/services. When an invoice has no products/services added to them and it returns null i get the error "the null value cannot be assigned to a member with type System.Decimal which is a non-nullable value type."
I just started with linq. Before i always used mysql. Mostly i just had to call data from 1 table so forgive me if my linq query isn't really correct.
Dim invoices = From i In db.invoices _ Group Join p In db.products On i.id Equals p.invoiceId Into invoiceProducts = Group _ Select New With {i.client.naam, i.titel, (From iP In invoiceProducts Select iP.prijs).Sum}
i show the client's name, the title of the invoice and the total amount the clients will need to pay for products and services.
I have req where i have to check the value coming from db is null or not and assign value according to that.Problem here is the field datatype is 'Datetime' so all the time when I tried to use the below line of code its giving me error.How can I pass a null value to datetimefield if value coming from db is null.
I'm trying to execute this statement every minute with SQL Agent, I have it set up as a job:
[Code]....
It's trying to update a column which data type is set to decimal. Just so you know what I really need out of it, here is an example:
[Code]....
The answer of which should add on 0.5 to the original value. If I were to use the increase value of 60 which then becomes 60/60 it will work.I'm dividing by 60 because the increase value is per hour so I make it smaller to get per minute value. Why is it doing this?
here is my code for selectiong some records from db table
string strSql = "select * from mtblNBD where SentTo=@SentTo and InternalStatus Is NULL order by DeadLine desc"; SqlCommand com = new SqlCommand(strSql, con); com.Parameters.Add("@SentTo", SqlDbType.NVarChar, 50).Value = (string)Session["uname"];
here I am using parameters for SenTo field but not for NULL so it is ok... or should I use parameters for this field where value is NULL , if yes then how can I use parameter for this
My database includes a table with sever filds which are defined as (varchar(1),null), I tried using DBNull.Value, null, ' ' but cannot get a null inserted in that field of the database,
I have a DetailsView on the page and I have made one of the fields a TemplateField. In the EditItemTemplate and InsertItemTemplate I have a DropdownList that is databound to a table in my Sql Server database. I wanted to add an initial value to the DropdownList namely "- select -" .
I set the AppendDataBoundItems property to true and added the initial value as a ListItem.Markup of the DropdownList
This works fine for new input. The problem is however that the database already has records that were entered through a Windows Application and many of these records has a null value in this field and exceptions are thrown when I tried to open these records and the system tried to set the SelectedValue of the DropdownList.After some more searching I found this help
This now solved the problem of opening a record where the value is null in the database, BUT now the RequiredFieldValidator is not validating anymore to make sure that a databound item is selected for this field and not the initial value "- select -". So basically now it is not checking anymore to see if valid input has been entered for the DropDownList and it accepts "- select -" thus it acts as if the field is not a required field anymore.
In short what is required is that I want to make sure that the user enters a valid selection in the DropDownList, but it must also cater for old records that do not have this field entered yet so that those old records can be opened in the DetailsView .Opening Old records (with null in that field):When these old records are opened in the DetailsView the DropDownlist should show "- select -" when the value in the database is null.
Saving records (old or new records):When saving the record in Insert mode or Update mode the RequiredFieldValidator should show that a valid input is not selected if the DropDownList is still on "- select -".
i hav one data table in which some decimal values are up 6 decimal places.. im trying to bind that Data table to DataGridView while binding i want to round decimal values up to two decimal palces here is my code
dt.Columns.Add("Orderid", typeof(string)); dt.Columns.Add("tagnumber", typeof(string)); dt.Columns.Add("Minimum Value", typeof(string)); dt.Columns.Add("Maximum Value", typeof(string)); int count = ds.Tables[0].Rows.Count; for (int i = 0; i < count; i++)
I was read your post: "Export GridView to Excel in ASP.Net with Formatting using C#" and is very useful. That code works perfect. But I need create a new format for a specific column in my sheet before to export it. For example:My DataTable have a column with decimal numbers and I'm trying reduce the tenths for each number.I want this: 2,874444 ----> 2,87 for a specific range. In this case I need it for all numbers in the column 13 or well said for the Column called N in Excel. Only reduce two tenths.
I have a feedback page with rating controls and I use a stored procedure to insert the record using C#
I get an error when I try to insert about conversion.
[Code]....
I have 20 ratings and a textbox I think the error is with the last parameter @Overall
it displays on the page as 4.9 in a label control, it is previously calculated in the Calculate_Ratings(), and it is declared as a decimal, I have also tried it declared as double. My column is declared decimal(1,1) in sqlDatabase
The Error says
System.Data.SqlClient.SqlException: Error converting data type numeric to decimal. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException
I currently have a numeric field as numeric(5,2) which has 2 digits after the decimal. Now I need to be able to display 4 digits after the decimal. But if I change the field to (7,4) then it places 2 zeros after the last numbers. For example: 1.32 changes to 1.3200.
But some records will have exactly 4 numbers after the decimal such as : 2.4375.
My issue is I don't want all the data to have 4 numbers after the decimal. I don't think there is another data type that will allow this.
This is an ASP.NET 3.5 web app written in C# using VS2008 and connecting to an MS SQL backend. It is using ad hoc queries in a strongly typed dataset to pull from the database. This query (shortened for clarity) is designed to allow optional input of parameters (a requirement) or pull all records if no parameters are input. It works normally in SQL Server Management Studio with the addition of Declare and Set statements and it works normally in the TableAdapter's Query Builder:
[Code]....
The markup contains this ObjectDataSource, which is tied to the TableAdapter with the above query:
[Code]....
The problem I'm having is in passing null values to the ODS to feed to the query. Tying the ODS parameters directly to the dropdownlists and textboxes didn't work. Got an error message that there was a mismatched data type. Tried several combinations of code to feed the right values to the ODS parameters but couldn't find one that worked. Is the problem in the query or am I setting up the code-behind wrong? Here's the code:
I am getting a DataTable from query against AS400 database. The field that clearly contains birth dates is interpreted as decimal. I am having trouble even converting it to string.
I read a CSV file into a DataTable.The DataTable in the first image shows each column and type.The types are exactly what they are supposed to be and the data loaded all the rows it was supposed to load.From the second screen shot you can see the database table. SqlBulkCopy is supposed to map column names to database columns by default.According to that logic each column matches up exactly to the database and the column types also match.However,when I run the command it errors on the first row with:
"The given value of type String from the data source cannot be converted to type decimal of the specified target column."
Here is the StackTrace:
"at System.Data.SqlClient.SqlBulkCopy.ConvertValue(Object value, _SqlMetaData metadata) at System.Data.SqlClient.SqlBulkCopy.WriteToServerInternal() at System.Data.SqlClient.SqlBulkCopy.WriteRowSourceToServer(Int32 columnCount) at
[code]...
Anyone have any ideas why this will not import correctly?