вставить ошибку system.format.exception vb.net - PullRequest
0 голосов
/ 27 сентября 2018

В моем программном обеспечении только что появилась ошибка, она работала, но я получаю следующую ошибку при выполнении команды вставки.Я использую 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 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 ]

0 голосов
/ 28 сентября 2018

Спасибо всем вам за помощь.Решил проблему простым действием, удалил запрос вставки в наборе данных и пересоздал его.Проблема, о которой я упомянул выше с объектом, исчезла, и все работает как шарм.СПАСИБО ВСЕМ, вам всего наилучшего.

0 голосов
/ 27 сентября 2018

Иногда назад у меня была такая же проблема.В моем случае решением было добавить Convert Zero Datetime=True в строку подключения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...