C# 无法强制转换类型为';System.Data.SqlClient.sqlinternalconnectionds';输入';System.Data.SqlClient.SqlInternalConnectionSmi';

C# 无法强制转换类型为';System.Data.SqlClient.sqlinternalconnectionds';输入';System.Data.SqlClient.SqlInternalConnectionSmi';,c#,forms,database-connection,C#,Forms,Database Connection,我一直在得到标题中提到的错误,我似乎无法通过这个 这是我的密码: strSig = sigPlusNET1.GetKeyReceiptAscii() sigPlusNET1.LCDRefresh(1, 210, 3, 14, 14); if (sigPlusNET1.NumberOfTabletPoints() > 0) { sigPlusNET1.LCDRefresh(0, 0,

我一直在得到标题中提到的错误,我似乎无法通过这个

这是我的密码:

strSig = sigPlusNET1.GetKeyReceiptAscii()

            sigPlusNET1.LCDRefresh(1, 210, 3, 14, 14); 

            if (sigPlusNET1.NumberOfTabletPoints() > 0)
            {
                sigPlusNET1.LCDRefresh(0, 0, 0, 240, 64);
                Font f = new System.Drawing.Font("Arial", 9.0F, System.Drawing.FontStyle.Regular);
                sigPlusNET1.LCDWriteString(0, 2, 35, 25, f, "Semnatura a fost salvata.");
                SqlConnection connection = new SqlConnection("Data Source=xxx;Initial Catalog=xxx;Persist Security Info=True;User ID=xxx;Password=xxx; MultipleActiveResultSets=True");
                connection.Open();

                SqlCommand cmd = new SqlCommand("INSERT INTO cstmae_Signatures(Signature)values("+ strSig +")", connection);

                cmd.ExecuteNonQuery();

                connection.Close();
这是一个标准的表单应用程序

我做错了什么?我已尝试将strSig转换为Int32,但什么也没有,现在的类型是正在发送的8位int,但问题在于sql连接。

我遇到了相同的错误“无法将类型为'System.Data.SqlClient.SqlInternalConnectionDs'的对象转换为类型'System.Data.SqlClient.SqlInternalConnectionSmi'


没有任何内容保存到数据库中,获取消息的唯一方法是通过cmd.ExecuteNonQuery()方法的“非公共成员”。当我检查参数值时,所有参数都在那里并且正确

这是如何回答这个问题的?
query = "UPDATE dbo.History SET Volume = @Volume WHERE Symbol = @Symbol AND [start] = @Date; ";
using (SqlConnection con = new SqlConnection(builder.ConnectionString))
                    using (SqlCommand cmd = new SqlCommand(query, con))
                    {
cmd.Parameters.Add("@Symbol", SqlDbType.NVarChar, 50).Value = ti.Symbol;
                                cmd.Parameters.Add("@Date", SqlDbType.DateTime).Value = ti.Date;
                                cmd.Parameters.Add("@Volume ", SqlDbType.Float).Value = ti?.Volume;
try
                        {
                            cmd.ExecuteNonQuery();
                        }
                        catch (System.InvalidCastException e)
                        {

                            throw;
                        }

                        con.Close();
}