异常抛出..在SqlParameter中 [英] Exception throws .. in SqlParameter

查看:81
本文介绍了异常抛出..在SqlParameter中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨伙计们......

在我的应用程序中我得到例外



SqlParameter已经包含在另一个SqlParameterCollection中......



hi guys..
In my application i getting exception

The SqlParameter is already contained by another SqlParameterCollection...

public string InsertRetailer(Business.Retailers objRetailer)
        {
            string retInsertRet = string.Empty;
            try
            {
              
                using (SqlConnection conn = Connection.OpenConnection())
               {
                   
                   SqlCommand cmd = new SqlCommand();
                   cmd.CommandText = "INSERT_RETAILER";
                   cmd.CommandType = System.Data.CommandType.StoredProcedure;
                   cmd.Connection = conn;
                   SqlParameter[] sqlParams=new SqlParameter [8];

                   SqlParameter RetailerCode = new SqlParameter("@RetailerCode", objRetailer.RetailerCode);
                   RetailerCode.Direction = System.Data.ParameterDirection.Input;
                   RetailerCode.DbType = System.Data.DbType.String;
                   sqlParams[0] = RetailerCode;

                   SqlParameter RetailerName = new SqlParameter("@RetailerName", objRetailer.RetailerName);
                   RetailerName.Direction = System.Data.ParameterDirection.Input;
                   RetailerName.DbType = System.Data.DbType.String;
                   sqlParams[1] = RetailerName;

                   SqlParameter EVD_No = new SqlParameter("EVD_No", objRetailer.EVD_No);
                   EVD_No.Direction = System.Data.ParameterDirection.Input;
                   EVD_No.DbType = System.Data.DbType.String;
                   sqlParams[2] = EVD_No;

                   SqlParameter Address = new SqlParameter("@Address", objRetailer.Address);
                   Address.Direction = System.Data.ParameterDirection.Input;
                   Address.DbType = System.Data.DbType.String;
                   sqlParams[3] = Address;

                   SqlParameter OpeningBalance = new SqlParameter("@OpeningBalance", objRetailer.OpeningBalance);
                   OpeningBalance.Direction = System.Data.ParameterDirection.Input;
                   OpeningBalance.DbType = System.Data.DbType.Currency;
                   sqlParams[4] = OpeningBalance;

                   SqlParameter WorkingHours = new SqlParameter("@WorkingHours", objRetailer.WorkingHours);
                   WorkingHours.Direction = System.Data.ParameterDirection.Input;
                   WorkingHours.DbType = System.Data.DbType.Double;
                   sqlParams[5] = WorkingHours;

                   SqlParameter ContactPerson_Name = new SqlParameter("@ContactPerson_Name", objRetailer.ContactPerson_Name);
                   ContactPerson_Name.Direction = System.Data.ParameterDirection.Input;
                   ContactPerson_Name.DbType = System.Data.DbType.String;
                   sqlParams[6] = ContactPerson_Name;

                   SqlParameter ContactPerson_Phone = new SqlParameter("@ContactPerson_Phone", objRetailer.ContactPerson_Phone);
                   ContactPerson_Phone.Direction = System.Data.ParameterDirection.Input;
                   ContactPerson_Phone.DbType = System.Data.DbType.Double;
                   sqlParams[7] = ContactPerson_Phone;







cmd.Parameters.AddRange(sqlParams);
                   cmd.ExecuteNonQuery();
                   retInsertRet = Msg.Value.ToString();







需要你的帮助

Thnxx提前




need your help
Thnxx in advance

推荐答案

对于下面给出的行,您缺少@符号。不知道这是不是确切的原因,但微软有时会因为简单的错误而抛出奇怪的错误消息! :)



For the given below line you are missing the "@" symbol. Don't know if this is the exact reason, but Microsoft sometime throws strange error messages for simple errors!!!! :)

SqlParameter EVD_No = new SqlParameter("EVD_No", objRetailer.EVD_No);


尝试摆脱你的数组并逐个添加你的SqlParameters;这肯定会更加可调试。

除非你没有显示某些代码,否则数组的使用不会在这里提供任何附加价值;它只会使调试更难。
Try to get rid of your array and add your SqlParameters one by one ; this will, for sure, be much more debuggable.
Unless there's some code you do not show, the use of the array does not provide any added value here ; it just makes the debugging harder.


这篇关于异常抛出..在SqlParameter中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆