在我的软件,一个错误刚刚浮出水面,它正在工作,但我得到以下错误时,运行插入命令。我正在用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)
有人能帮帮我吗。我迷路了。
2条答案
按热度按时间bzzcjhmw1#
有时以前,我也有同样的问题。在我看来,解决办法是
Convert Zero Datetime=True
连接字符串。bihw5rsg2#
我感谢你们所有人的帮助。通过一个简单的操作解决了这个问题,删除了数据集上的insert查询并重新创建了相同的查询。我在上面提到的这个问题被排除了,一切都像一个魔咒。谢谢大家,你们都是最棒的。