将nvarchar值'Infinity'转换为数据类型int时转换失败。为什么? [英] Conversion failed when converting the nvarchar value 'Infinity' to data type int. Why?

查看:112
本文介绍了将nvarchar值'Infinity'转换为数据类型int时转换失败。为什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从我开发的表单中保存数据。在一条记录中我收到此错误:



I am trying to save my data from a form that I developed. On one record I get this error:

Conversion failed when converting the nvarchar value 'Infinity' to data type int.



错误来自这一行:


The error is coming from this line:

cmd2.ExecuteNonQuery();



这是我的代码隐藏:


Here is my codebehind:

SqlCommand cmd2 = new SqlCommand("Insert into TableFA (User_ID, FT_UNDERGR, DATE, FT_GRAD, FTE_UNDERG, FTE_GRAD, NON_CREDIT, TOTAL_FTE, FCFTUHC, FCFTPBHC, FCPTUHC, FCPTPBHC, NCHC, UnderG12, Postb9, Total123b4b, FTEYR, THCAS, FTE40, HC50, NCA, SUBMITTED, Calendar, LongName) values (@User_ID, @FT_UNDERGR, @DATE, @FT_GRAD, @FTE_UNDERG, @FTE_GRAD, @NON_CREDIT, @TOTAL_FTE, @FCFTUHC, @FCFTPBHC, @FCPTUHC, @FCPTPBHC, @NCHC, @UnderG12, @Postb9, @Total123b4b, @FTEYR, @THCAS, @FTE40, @HC50, @NCA, @SUBMITTED, @Calendar, @LongName);", con);
                cmd2.CommandType = CommandType.Text;
                cmd2.Parameters.AddWithValue("@INST_ID", TextBoxUser_ID.Text);
                cmd2.Parameters.AddWithValue("@FT_UNDERGR", TextBoxFTUG.Text.Replace(",", ""));
                cmd2.Parameters.AddWithValue("@FT_GRAD", TextBoxFTG.Text.Replace(",", ""));
                cmd2.Parameters.AddWithValue("@FTE_UNDERG", TextBoxTHUGDR.Text.Replace(",", ""));
                cmd2.Parameters.AddWithValue("@FTE_GRAD", TextBoxTHGDR.Text.Replace(",", ""));
                cmd2.Parameters.AddWithValue("@NON_CREDIT", TextBoxNCCDR.Text.Replace(",", ""));
                cmd2.Parameters.AddWithValue("@TOTAL_FTE", TextBoxTCNC.Text.Replace(",", ""));
                cmd2.Parameters.AddWithValue("@FCFTUHC", TextBoxTNFUG.Text.Replace(",", ""));
                cmd2.Parameters.AddWithValue("@FCFTPBHC", TextBoxTNFG.Text.Replace(",", ""));
                cmd2.Parameters.AddWithValue("@FCPTUHC", TextBoxTNCPUG.Text.Replace(",", ""));
                cmd2.Parameters.AddWithValue("@FCPTPBHC", TextBoxTNCPG.Text.Replace(",", ""));
                cmd2.Parameters.AddWithValue("@NCHC", TextBoxTNNCC.Text.Replace(",", ""));
                cmd2.Parameters.AddWithValue("@FTEYR", lblYEAR1.Text);
                cmd2.Parameters.AddWithValue("@DATE", TextBoxDATE.Text);
                cmd2.Parameters.AddWithValue("@UnderG12", TextBoxTHUG.Text.Replace(",", ""));
                cmd2.Parameters.AddWithValue("@Postb9", TextBoxTHG.Text.Replace(",", ""));
                cmd2.Parameters.AddWithValue("@Total123b4b", TextBoxT1234.Text.Replace(",", ""));
                cmd2.Parameters.AddWithValue("@THCAS", TextBoxTHCAS.Text.Replace(",", ""));
                cmd2.Parameters.AddWithValue("@FTE40", TextBoxFTE40.Text.Replace(",", ""));
                cmd2.Parameters.AddWithValue("@HC50", TextBoxHC50.Text.Replace(",", ""));
                cmd2.Parameters.AddWithValue("@NCA", TextBoxNCC.Text.Replace(",", ""));
                cmd2.Parameters.AddWithValue("@SUBMITTED", lblSub.Text);
                cmd2.Parameters.AddWithValue("@Calendar", TextBoxCal.Text);
                cmd2.Parameters.AddWithValue("@LongName", lblSchool.Text);

                cmd2.ExecuteNonQuery();



为什么我只是在这条记录而不是其他记录上收到此错误?我做错了什么?


Why am I getting this error just on this record and not the others? What did I do wrong?

推荐答案

错误应该很清楚,不是吗?它表示您正在尝试将字符串值Infinity存储到只能存储整数的字段中。 infinity这个词显然不是一个整数,也不是无限的实际值,但我离题了。
The error should be very clear, isn't it? It says you are trying to store the string value "Infinity" into a field that can only store integers. The word "infinity" clearly is not an integer, neither is the actual value of infinity, but I digress.


我发现了什么是!!不得不改变它从零填充到真实整数的数据库号。
I found out what is was!! Had to change the database numbers it was populating from zeros to a real whole number.


这篇关于将nvarchar值'Infinity'转换为数据类型int时转换失败。为什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆