类型 varchar 值的算术溢出错误 =770214566.000000000

胡达

我有一个 dtatgridview,其中数据是从 excel 表中分配的,还有一个按钮将 dtatgridview 中的行插入到 sql server 表中,当我单击插入按钮时发生错误,并给出了我的问题标题中声明的异常值 770214566是用户的手机号码,它的数据类型是我的表中的 char(9) 这是我的插入按钮代码:

private void addCarsSaveBtn_Click(object sender, EventArgs e)
{
    try
    {
        for (int i = 0; i < addCarsDgv.Rows.Count - 1; i++)
        {
            SqlCommand cmd = new SqlCommand("insert into cars(Id,name,carType,stickerNo,plotNo,carPath,mobile,whats) values (@id,@name,@type,@sticker,@plot,@path,@mobile,@whats)", cn);
            cmd.Parameters.AddWithValue("@id", id + i);
            cmd.Parameters.AddWithValue("@sticker", Convert.ToInt32(addCarsDgv.Rows[i].Cells[0].Value));
            cmd.Parameters.AddWithValue("@name", addCarsDgv.Rows[i].Cells[1].Value);
            cmd.Parameters.AddWithValue("@mobile", addCarsDgv.Rows[i].Cells[2].Value);
            cmd.Parameters.AddWithValue("@whats", addCarsDgv.Rows[i].Cells[3].Value);
            cmd.Parameters.AddWithValue("@type", addCarsDgv.Rows[i].Cells[4].Value);
            cmd.Parameters.AddWithValue("@plot", addCarsDgv.Rows[i].Cells[5].Value);
            cmd.Parameters.AddWithValue("@path", addCarsDgv.Rows[i].Cells[6].Value);

            cmd.ExecuteNonQuery();
        }
        MessageBox.Show("All Done!");
    }
    catch (SqlException ex)
    {
        MessageBox.Show(ex.Message);
    }
}
火腿骨

在大多数情况下,AddWithValue会正确解释您的意图。但是,在这种情况下,如果没有,您始终可以通过以下任一方式为其提供帮助:

  • 强制转换数据类型以强制上下文匹配。在您的示例中,一个简单的方法.ToString()可能会奏效……如果这些小数真的存在,我可以看到另一个错误。正如您所知,这不是防弹的。另一个可能失败的例子是时间戳和日期如何转换为 C#DateTime数据类型
  • 明确说明参数的数据类型。除非你做了一些不合理的事情(比如把一个字符放到一个数字字段中)无论如何都会导致错误,这应该是防弹的

以下是如何实施选项 #2 的示例:

cmd.Parameters.AddWithValue("@mobile", addCarsDgv.Rows[i].Cells[2].Value);
cmd.Parameters[3].SqlDbType = SqlDbType.Char;

这可能不言而喻,但“[3]”是因为它是第四个参数。

或者,正如其他人所建议的,不要使用AddWithValue.

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

算术溢出错误将varchar转换为数值类型的数据?

来自分类Dev

在存储过程中将varchar转换为数值类型的算术溢出错误

来自分类Dev

将varchar转换为数值数据类型的算术溢出错误?

来自分类Dev

将varchar转换为数值数据类型的算术溢出错误-找不到合适的答案

来自分类Dev

在var.net中将varchar转换为数值类型的算术溢出错误

来自分类Dev

数据类型tinyint的算术溢出错误,值= -1

来自分类Dev

sql将int转换为datetime,溢出问题将表达式转换为数据类型varchar的算术溢出错误

来自分类Dev

将临时列(十进制)转换为十进制,但仍然出现“将 varchar 转换为数字类型的算术溢出错误”

来自分类Dev

出现错误时,算术溢出错误将数字转换为数据类型数字

来自分类Dev

将表达式转换为数值数据类型的算术溢出错误

来自分类Dev

SQL Server:将表达式转换为数据类型bigint的算术溢出错误

来自分类Dev

将IDENTITY转换为数据类型tinyint的算术溢出错误

来自分类Dev

SQL算术溢出错误将表达式转换为数据类型nvarchar

来自分类Dev

将表达式转换为数据类型smallint的算术溢出错误

来自分类Dev

SQL Server算术溢出错误将表达式转换为数据类型datetime

来自分类Dev

**偶尔**算术溢出错误将表达式转换为数据类型int

来自分类Dev

“将表达式转换为数据类型nvarchar的算术溢出错误。”

来自分类Dev

SUM(myfield):将数字转换为数据类型数值的算术溢出错误

来自分类Dev

在执行查询时将数值转换为数据类型数值的算术溢出错误

来自分类Dev

存储过程算术溢出错误将表达式转换为数据类型int

来自分类Dev

smallint的算术溢出错误-但数据类型为int吗?

来自分类Dev

在SQL中将数字转换为数据类型数字的算术溢出错误

来自分类Dev

SQL Server算术溢出错误,将IDENTITY转换为数据类型int,但尚未达到int的最大值

来自分类Dev

SQL Server:使用“日期”类型的参数搜索“ varchar”类型的值

来自分类Dev

成功执行后,我收到错误:将表达式转换为数据类型int的算术溢出错误

来自分类Dev

将数据类型从varchar转换为数值时出错

来自分类Dev

将数据类型 varchar 转换为 float 时出错。?

来自分类Dev

CAST(somenumber as VARCHAR(10))+ somestring返回将数据类型varchar转换为数值时出错

来自分类Dev

在where子句中使用十进制-算术溢出错误将nvarchar转换为数值类型的数据

Related 相关文章

  1. 1

    算术溢出错误将varchar转换为数值类型的数据?

  2. 2

    在存储过程中将varchar转换为数值类型的算术溢出错误

  3. 3

    将varchar转换为数值数据类型的算术溢出错误?

  4. 4

    将varchar转换为数值数据类型的算术溢出错误-找不到合适的答案

  5. 5

    在var.net中将varchar转换为数值类型的算术溢出错误

  6. 6

    数据类型tinyint的算术溢出错误,值= -1

  7. 7

    sql将int转换为datetime,溢出问题将表达式转换为数据类型varchar的算术溢出错误

  8. 8

    将临时列(十进制)转换为十进制,但仍然出现“将 varchar 转换为数字类型的算术溢出错误”

  9. 9

    出现错误时,算术溢出错误将数字转换为数据类型数字

  10. 10

    将表达式转换为数值数据类型的算术溢出错误

  11. 11

    SQL Server:将表达式转换为数据类型bigint的算术溢出错误

  12. 12

    将IDENTITY转换为数据类型tinyint的算术溢出错误

  13. 13

    SQL算术溢出错误将表达式转换为数据类型nvarchar

  14. 14

    将表达式转换为数据类型smallint的算术溢出错误

  15. 15

    SQL Server算术溢出错误将表达式转换为数据类型datetime

  16. 16

    **偶尔**算术溢出错误将表达式转换为数据类型int

  17. 17

    “将表达式转换为数据类型nvarchar的算术溢出错误。”

  18. 18

    SUM(myfield):将数字转换为数据类型数值的算术溢出错误

  19. 19

    在执行查询时将数值转换为数据类型数值的算术溢出错误

  20. 20

    存储过程算术溢出错误将表达式转换为数据类型int

  21. 21

    smallint的算术溢出错误-但数据类型为int吗?

  22. 22

    在SQL中将数字转换为数据类型数字的算术溢出错误

  23. 23

    SQL Server算术溢出错误,将IDENTITY转换为数据类型int,但尚未达到int的最大值

  24. 24

    SQL Server:使用“日期”类型的参数搜索“ varchar”类型的值

  25. 25

    成功执行后,我收到错误:将表达式转换为数据类型int的算术溢出错误

  26. 26

    将数据类型从varchar转换为数值时出错

  27. 27

    将数据类型 varchar 转换为 float 时出错。?

  28. 28

    CAST(somenumber as VARCHAR(10))+ somestring返回将数据类型varchar转换为数值时出错

  29. 29

    在where子句中使用十进制-算术溢出错误将nvarchar转换为数值类型的数据

热门标签

归档