当我运行程序时,出现此错误:
未处理无效的强制转换异常
这是用于填充数据库的表单的一部分,而Visual Studio会将int cast标记为错误
MySqlConnection conectar = new MySqlConnection("server=127.0.0.1; database=gymne; Uid=root; pwd=0000000000;");
using (MySqlCommand sqlCommand = new MySqlCommand("SELECT COUNT(*) from Socios where Nombre like @pNombre AND Apellido like @pApellido", conectar))
{
conectar.Open();
sqlCommand.Parameters.AddWithValue("@pNombre", txtNombre.Text);
sqlCommand.Parameters.AddWithValue("@pApellido", txtApellido.Text);
int UsuarioExiste = (int)sqlCommand.ExecuteScalar();//<----"error here"
if (UsuarioExiste > 0)
{
MessageBox.Show("El Socio ya existe!!", "No Guardado", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
我 强烈 怀疑,您LIKE
用错误的方式参数化了您的零件。您%..%
至少需要弄清楚您试图获取包含那些字符串的值。喜欢;
sqlCommand.Parameters.AddWithValue("@pNombre", "%" + txtNombre.Text + "%");
sqlCommand.Parameters.AddWithValue("@pApellido", "%" + txtApellido.Text + "%");
不要使用AddWithValue
尽可能多的东西。有时它 可能会
产生意外和令人惊讶的结果
。使用Add
方法重载来指定参数类型及其大小。
也可以使用using
语句自动处理连接和命令,而不是手动调用(可能在代码中的某个地方)Close
或Dispose
方法。
顺便说一下,请注意,在MySQL中COUNT(*)
返回BIGINT
并且此类型Int64
在.NET端映射。正如史蒂夫(Steve)所提到的,您可以解析此值,而不必进行强制转换。
int UsuarioExiste = int.Parse(sqlCommand.ExecuteScalar());
或者您可以将您定义UsuarioExiste
为long
看起来更一致的(?)我想。
long UsuarioExiste = (long)sqlCommand.ExecuteScalar();
问题内容: 我正在开发一个Android应用,该应用必须将json格式的Java对象保存到SQLite数据库中。我为此操作编写了代码,然后他们必须提取Json对象并将其重新转换为Java对象。当我尝试调用将json对象反序列化为字符串的方法时,我在Android Studio中发现此错误: 当我尝试捕获程序运行但不反序列化json对象时。 这是该方法的代码: 你能帮我吗? 问题答案: 是的,您需要
我希望下面的代码在其中一个方法<code>callfuture1()</code>或<code>callfuture2()</code>抛出异常时返回自定义消息。我的理解是,如果任何一个未来失败,都将是失败的未来。 但是,当 引发异常时。 不执行。相反,我看到调用堆栈停止在 中的代码行,其中发生了异常并返回了标准内部错误。为什么会这样? ====更新==== 我从响应中看到,潜在的问题是异常被抛出
我正在尝试格式化我的日期和时间。 我的代码 its显示错误未处理异常:格式异常:无效日期格式 现在它看起来像这样
在将其标记为副本之前,请阅读问题。 我在我的谷歌控制台中设置了SHA1和SHA256。 我已经尝试了很多方法,但仍然面临错误。 未处理的异常: 平台异常(sign_in_failed, 还尝试了Flutter和google_sign_in插件:PlatformException(sign_in_failed,com.google.android.gms.common.api.ApiExceptio
我主要是为技术精明的人编写一个小工具,例如程序员、工程师等,因为这些工具通常是快速的,随着时间的推移,我知道会有未处理的异常,用户不会介意。我希望用户能够向我发送回溯,这样我就可以检查发生了什么,并可能改进应用程序。 我通常做wxPython编程,但我最近做了一些Java。我已经将
问题内容: 我目前正在学习如何正确执行自定义异常的过程,偶然发现了一个问题。每当我尝试利用引发此自定义异常的类的对象时,IDE的调试器(我使用的是IntelliJ想法)都会说“未处理的异常:InsertExceptionName()”。代码以简化的方式看起来像这样。在这种情况下,如果随机生成的数字<0.5,它将返回一个异常,否则返回一个数字,但不会这样做。我想念什么? -- -- 问题答案: 您是