---
title: "“Error converting data type nvarchar to numeric“"
type: "forum-thread"
url: "https://www.webforum.nu/amne/webbutveckling/156956-error-converting-data-type-nvarchar-to-numeric"
topic: "Webbutveckling"
topic_url: "https://www.webforum.nu/amne/webbutveckling"
author: "_YES"
published: "2007-02-08T15:41:08.000Z"
updated: "2007-02-08T15:41:08.000Z"
replies: 0
views: 475
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/webbutveckling/156956-error-converting-data-type-nvarchar-to-numeric"
---

# “Error converting data type nvarchar to numeric“

## #1 — _YES, 2007-02-08T15:41Z

Hej

Jag utvecklar ett program i Visual Studio 2005 (Visual Basic) som använder sig av databastabeller i SQL Server. Men jag får problem när jag försöker att göra Insert eller Update på tabellvärden som i databasen är definierade som decimal(10,2). eftersom VB och SQL använder sig av olika decimalavskiljare . Se exempelkod nedan. Hur löser man detta på ett smidigt sätt? 

\----------------------------------------------------------------------
SqlDataSource3.SelectParameters("ProdRadNr").DefaultValue = Radnr
reader = SqlDataSource3.Select(arg)

While reader.Read
Visa_Produkt.UpdateParameters("nr").DefaultValue = Radnr
Dim brutto As Decimal = NullSafeDecimal(reader.Item("S:a Artiklar"))
Dim netto As Decimal
Dim \_rabatt As Decimal

' Kontrollerar om användaren är kopplad till någon rabattsats
If Kategori = 1 Then
If TextBox_Rabatt.Text \<= 100 Or TextBox_Rabatt.Text \> 0 Then
\_rabatt = brutto \* TextBox_Rabatt.Text \* 0.01
Else
\_rabatt = 0
End If
Else
\_rabatt = brutto \* Rabatt \* 0.01
End If
netto = brutto - \_rabatt

Visa_Produkt.UpdateParameters("Brutto").DefaultValue = brutto
Visa_Produkt.UpdateParameters("Rabatt_kr").DefaultValue = \_rabatt 
Visa_Produkt.UpdateParameters("Netto").DefaultValue = netto
If Vald = 3 Or Vald = 4 Or Vald = 6 Or Vald = 7 Then
If Vald = 4 Then
Visa_Produkt.UpdateParameters("Nto_s").DefaultValue = netto
End If
Visa_Produkt.UpdateParameters("Nto_s").DefaultValue = netto / TextBoxA5.Text
Else
Visa_Produkt.UpdateParameters("Nto_m").DefaultValue = netto / TextBoxA1.Text
End If
\------------------------------------------------------------------------

Här blir det fel, “Error converting data type nvarchar to numeric“ , när variablerna  "brutto, "netto" och "\_rabatt" används för att uppdatera( eller infoga) värden till databasen 

\------------------------------------------------------------------------
Felmeddelande som genereras av ovan beskrivna kod:

\[SqlException (0x80131904): Error converting data type nvarchar to numeric.\]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +177
System.Data.SqlClient.SqlInternalConnection.OnError(SqlExcep
tion exception, Boolean breakConnection) +68
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(Tds
ParserStateObject stateObj) +199
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2300
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlData
Reader ds, RunBehavior runBehavior, String resetOptionsString) +147
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(Command
Behavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +1021
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBeh
avior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +314
System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbA
syncResult result, String methodName, Boolean sendToPipe) +413
System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +115
System.Web.UI.WebControls.SqlDataSourceView.ExecuteDbCommand
(DbCommand command, DataSourceOperation operation) +392
System.Web.UI.WebControls.SqlDataSourceView.ExecuteUpdate(ID
ictionary keys, IDictionary values, IDictionary oldValues) +639
System.Web.UI.WebControls.SqlDataSource.Update() +17
Produkter.Button_OK_Click(Object sender, EventArgs e) in C:\\CWL\\Produkter.aspx.vb:635
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +75
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +97
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEven
tHandler.RaisePostBackEvent(String eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +170
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4921
\------------------------------------------------------------------------

Hoppas att det finns någon som har en bra lösning till detta.

Tacksam för snabbt svar

\_YES

Permalänk: https://www.webforum.nu/p/156956

---

Tråden på webben: https://www.webforum.nu/amne/webbutveckling/156956-error-converting-data-type-nvarchar-to-numeric
