当我插入数据库时出现SqlException错误

安农

这基本上是一种将记录插入表中的方法。在我决定添加一种方式来检查数据库中是否已经存在客户ID之前,它运行良好。我得到一个

System.Data.dll中发生“ System.Data.SqlClient.SqlException”,但未在用户代码中处理

附加信息:过程或函数InsertCustomer指定的参数过多。

在线上

command.ExecuteNonQuery();

我不明白怎么了

public void add()
{
    lblMessage.Text = "";
    command.Connection = conn;
    command.CommandType = CommandType.StoredProcedure;
    command.CommandText = "CheckDetails";
    command.Parameters.AddWithValue("@CustID", txtCID.Text);
    conn.Open();
    int check = (int)command.ExecuteScalar();

    if (check == 0)
    {
        command.CommandText = "InsertCustomer";
        command.Parameters.Add("@CustID", SqlDbType.Int).Value = txtCID.Text;
        command.Parameters.Add("@FirstName", SqlDbType.VarChar).Value = txtFName.Text;
        command.Parameters.Add("@Surname", SqlDbType.VarChar).Value = txtLName.Text;
        command.Parameters.Add("@Gender", SqlDbType.VarChar).Value = rdoGender.Text;
        command.Parameters.Add("@Age", SqlDbType.Int).Value = txtAge.Text;
        command.Parameters.Add("@Address1", SqlDbType.VarChar).Value = txtAdd1.Text;
        command.Parameters.Add("@Address2", SqlDbType.VarChar).Value = txtAdd2.Text;
        command.Parameters.Add("@City", SqlDbType.VarChar).Value = txtCity.Text;
        command.Parameters.Add("@Phone", SqlDbType.VarChar).Value = txtPhone.Text;
        command.Parameters.Add("@Mobile", SqlDbType.VarChar).Value = txtMobile.Text;
        command.Parameters.Add("@Email", SqlDbType.VarChar).Value = txtEmail.Text;

        command.ExecuteNonQuery();

        lblMessage.Text = "Customer Details Added.";
    }
    else
    {
        lblMessage.Text = "Customer ID already exists.";
    }

    conn.Close();
}
蒂姆·施密特(Tim Schmelter)

您将两次添加相同的参数:

command.Parameters.AddWithValue("@CustID", txtCID.Text);
// ....
command.Parameters.Add("@CustID", SqlDbType.Int).Value = txtCID.Text;

您可以使用command.Parameters.Clear();但是我宁愿对这SqlCommands两个过程使用两个不同的方法,CheckDetailsInsertCustomer避免此类问题。

旁注:不要让数据库为您尝试值。使用int.TryParse

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么当我插入数据库服务器时出现500错误

出现此错误:-“java.sql.SQLException:找不到合适的驱动程序”。当我使用 Hibernate Config 进行反向工程时。我的数据库

当我在数据库Java Derby中插入新数据时生成的ID错误

当我想使用JdbcOdbc Bridge驱动程序将数据插入mysql时,没有出现数据库选择错误,

当我尝试从数据库创建模型时,为什么会出现此错误?

当我尝试从数据库中检查值时出现PHP错误消息

将数据插入数据库时出现错误

插入数据库时出现.NET Core错误502.3

将数据插入我的数据库时遇到错误

当我尝试保留到数据库时出现Mysql错误-Symfony2-可能是Date错误?

当我更新数据库时,插入..... vb.net时不会插入信息。

尝试在Oracle数据库中插入双精度值时出现SQLException

当我尝试使用 ExcelDataReader 将文件上传到数据库时出现“不支持指定的方法”错误

当我将PDO数据库连接详细信息放在包含文件中时,出现错误

插入数据库时出现SQLiteConstraintException

将数据库表导出到 Excel AnyLogic 时出现“错误:java.sql.SQLException”

尝试连接到SQL Server数据库时出现“ SqlException未处理”错误

打开“ IS”附近的数据库时出现SQLException:语法错误(代码1):

当我尝试在 MySQL 中将数据插入数据库时遇到问题

当我尝试将数据插入数据库时,应用程序崩溃

我在获取插入多个下拉值时遇到问题。提交后出现数据库错误

当我尝试使用此函数从我的数据库获取数据时出现错误(我在 android studio 中使用 kotlin)

搜索我的数据库时出现heroku错误,这是数据库过载

当我要在数据库中插入值时使用ORM,它给我以下错误->“未找到类'App \ Http \ Controllers \ User'”

当我尝试访问从数据库获取的对象的字段时出现NoMethodError

当我用FireDac筛选sqlServer数据库时出现EConvertError

将数据插入SQL Server数据库时,Node.js中出现奇怪的错误

NodeJS - 将数据插入数据库时出现 Mysql 错误

尝试在C#中将数据插入数据库时,出现IEntityChangeTracker错误的多个实例