插入错误system.format.exception vb.net

mo49yndu  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(354)

在我的软件,一个错误刚刚浮出水面,它正在工作,但我得到以下错误时,运行插入命令。我正在用vb.net和mysql。
错误消息:

{System.FormatException: Cadeia de caracteres de entrada com formato incorrecto.
   em System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
   em System.Number.ParseUInt64(String value, NumberStyles options, NumberFormatInfo numfmt)
   em System.String.System.IConvertible.ToUInt64(IFormatProvider provider)
   em MySql.Data.Types.MySqlBit.WriteValue(MySqlPacket packet, Boolean binary, Object value, Int32 length)
   em MySql.Data.MySqlClient.MySqlParameter.Serialize(MySqlPacket packet, Boolean binary, MySqlConnectionStringBuilder settings)
   em MySql.Data.MySqlClient.Statement.SerializeParameter(MySqlParameterCollection parameters, MySqlPacket packet, String parmName, Int32 parameterIndex)
   em MySql.Data.MySqlClient.Statement.InternalBindParameters(String sql, MySqlParameterCollection parameters, MySqlPacket packet)
   em MySql.Data.MySqlClient.Statement.BindParameters()
   em MySql.Data.MySqlClient.Statement.Execute()
   em MySql.Data.MySqlClient.PreparableStatement.Execute()
   em MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
   em MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
   em MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery()
   em BARCOSEGUR.uccbarcosegurDataSetTableAdapters.suspeitaTableAdapter.Insert(String p1, Nullable`1 p2, String p3, Object p4, Object p5, Object p6, Object p7) em C:\Users\g1960931\Documents\Visual Studio 2012\Projects\BARCOSEGUR\BARCOSEGUR\uccbarcosegurDataSet.Designer.vb:line 25533
   em BARCOSEGUR.Vigilância.Button1_Click(Object sender, EventArgs e) em C:\Users\g1960931\Documents\Visual Studio 2012\Projects\BARCOSEGUR\BARCOSEGUR\Vigilância.vb:line 104}

当我直接从数据设计器运行insert查询时,它工作得很好,所以我认为问题不在insert查询
这是我的插入查询:

INSERT INTO suspeita (idembarcacao, suspeita_desde, colocada_por, opcao1, opcao2, opcao3, opcao4) VALUES (@p1, @p2, @p3, @p4, @p5, @p6, @p7)

如果从数据集运行,它将毫无问题地插入。
这是我的密码:

Dim dt As Date
dt = System.DateTime.Today
dt.ToString("yyyy'-'MM'-'dd")
Me.SuspeitaTableAdapter.Insert(tst, dt, util, op1, op2, op3, op4) 
Me.SuspeitaTableAdapter.Update(Me.UccbarcosegurDataSet.suspeita)

变量类型

1. tst = string
 2. dt = date
 3. util = string
 4. op1,op2,op3 = integer
 5. op4 = string

表创建如下

1. idembarcacao = varchar(11)
 2. suspeita_desde = date
 3. colocada_por = varchar(45)
 4. opcao1 = int(11)
 5. opcao2 = int(11)
 6. opcao3 = int(11)
 7. opcao4 = varchar(85)

有人能帮帮我吗。我迷路了。

bzzcjhmw

bzzcjhmw1#

有时以前,我也有同样的问题。在我看来,解决办法是 Convert Zero Datetime=True 连接字符串。

bihw5rsg

bihw5rsg2#

我感谢你们所有人的帮助。通过一个简单的操作解决了这个问题,删除了数据集上的insert查询并重新创建了相同的查询。我在上面提到的这个问题被排除了,一切都像一个魔咒。谢谢大家,你们都是最棒的。

相关问题