开发者

ADO Stored Proc Missing Parameter Error ...

开发者 https://www.devze.com 2023-03-29 07:14 出处:网络
I have a stored Proc: USE [RMV1] GO ALTER PROCEDURE [dbo].[INS_Respond_Local] @phonevarchar(15), @wphonevarchar(15),

I have a stored Proc:

USE [RMV1]
GO
ALTER PROCEDURE [dbo].[INS_Respond_Local]
@phone          varchar(15),
@wphone         varchar(15),
@wphone_ext     varchar(5),
@fax            varchar(15),
@cell           varchar(15),
@email          varchar(30),
@areacode       varchar(3),
@areacode_w     varchar(3),
@lname          varchar(30),
@fname          varchar(30),
@city           varchar(20),
@state          varchar(2),
@zip            varchar(10),
@county         varchar(20),
@employer       varchar(50),
@occupation     varchar(50),
@jobcode        varchar(3),
@employ_status  varchar(2),
@DOB            datetime,
@gender         varchar(1),
@maritalstatus  varchar(1),
@income         varchar(1),
@education      varchar(2),
@race           varchar(2),
@Party          varchar(2),
@typehome       varchar(2),
@spousejobcode  varchar(3),
@spousehours    varchar(2),
@child1         varchar(1),
@childbd1       datetime,
@child2         varchar(1),
@childbd2       datetime,
@child3         varchar(1),
@childbd3       datetime,
@child4         varchar(1),
@childbd4       datetime,
@child5         varchar(1),
@childbd5       datetime,
@child6         varchar(1),
@childbd6       datetime,
@resp_type      varchar(5),
@C1_OnLine      varchar(100),
@C2_Pets        varchar(100),
@C3_Onlinepr    varchar(100),
@C4_Gamesyste   varchar(100),
@C5_Alcohol     varchar(100),
@C6_Technology  varchar(100),
@C7_PersonalI   varchar(100),
@C8_Health      varchar(100),
@C9_MDSpecial   varchar(100),
@C10_PDASmart   varchar(100),
@C11_TypeofCo   varchar(100),
@C12_CreditCar  varchar(100),
@C13_Cigarettes varchar(100),
@C14_Position   varchar(100),
@C15_MDStatus   varchar(100),
@C16_MDPractic  varchar(100),
@C17_MDTypePr   varchar(100),
@C18_NumLocal   varchar(100),
@C19_NumEmploy  varchar(100),
@C20_BusinessT  varchar(100),
@C21_PleasureT  varchar(100),
@C22_LocalPhon  varchar(100),
@C23_LongDista  varchar(100),
@C24_HealthIns  varchar(100),
@C25_Industry   varchar(100),
@C26_Employers  varchar(100),
@C27_NumberEmp  varchar(100),
@C28_NumberCom  varchar(100),
@C29_CellPhone  varchar(100),
@C30_TypeofTV   varchar(100),
@C31_MusicPref  varchar(100),
@C32_Cigarette  varchar(100),
@C33_MD         varchar(100),
@C34_TypeofCo   varchar(100),
@C35_MDSubSpe   varchar(100),
@C36_USMedSch   varchar(100),
@C37_SexualOri  varchar(100),
@C38_PersonalI  varchar(100),
开发者_C百科@C39_Source     varchar(100),
@C40_Recreation varchar(100),
@C41_SocialProf varchar(100),
@C42_NumIntl    varchar(100),
@C43_NumIntl    varchar(100),
@C44_NumDomest  varchar(100),
@C45_NumDomest  varchar(100),
@C46_Languages  varchar(100),
@C47_HomePhone  varchar(100),
@C48_OtherToba  varchar(100),
@C49_Lifestyle  varchar(100),
@C50_Attitudes  varchar(100),
@c_brand        varchar(50),
@c_flavor       varchar(50),
@c_length       varchar(50),
@c_type         varchar(50),
@c_past_purch   varchar(50),
@c_oth_brnd     varchar(50),
@car_make_1     varchar(5),
@car_model_1    varchar(5),
@car_year_1     varchar(4),
@car_options_1  varchar(255),
@car_make_2     varchar(5),
@car_model_2    varchar(5),
@car_year_2     varchar(4),
@car_options_2  varchar(255)
AS
INSERT INTO [dbo].[Respondent]
           ([phone],[wphone],[wphone_ext],[fax],[cellphone],[email],[area_code],    [area_code_w],[lname],[fname],[address],[city],[state]
           ,[zip],[county],[address_w],[city_w],[state_w],[zip_w],[county_w],    [employer],[Occ_title],[jobcode],[hours],[datebirth],[gender]
           ,[maritalstatus],[income],[education],[race],[Party],[typehome],    [spousejobcode],[spousehours],[childgen1],[childbd1],[childgen2]
           ,[childbd2],[childgen3],[childbd3],[childgen4],[childbd4],[childgen5],    [childbd5],[childgen6],[childbd6],[resp_type],[dateenter]
           ,[dateupdated],[referred_by_resp],[Pro_resp],[Caution_Flag],    [last_selection],[last_participation],[number_parts],[calling_note]
           ,[notes],[CB1],[CB2],[CB3],[CB4],[CB5],[CB6],[CB7],[CB8],[CB9],[CC1],[CC2],    [CC3],[CC4],[CC5],[CC6],[CC7],[CC8],[CC9],[CC10],[CC11]
           ,[CC12],[CC13],[CC14],[CC15],[CC16],[CC17],[CC18],[CC19],[CC20],[CC21],    [CC22],[CC23],[CC24],[CC25],[CC26],[CC27],[CC28],[CC29]
           ,[CC30],[CC31],[CC32],[CC33],[CC34],[CC35],[CC36],[CC37],[CC38],[CC39],    [CC40],[CC41],[CC42],[CC43],[CC44],[CC45],[CC46],[CC47]
           ,[CC48],[CC49],[CC50],[c_brand],[c_flavor],[c_length],[c_type],    [c_past_purchases],[c_other_brands],[car_make_1],[car_model_1]
           ,[car_year_1],[car_options_1],[car_make_2],[car_model_2],[car_year_2],    [car_options_2])
          VALUES
           ( @phone         
            ,@wphone            
            ,@wphone_ext        
            ,@fax           
            ,@cell          
            ,@email         
            ,@areacode      
            ,@areacode_w        
            ,@lname         
            ,@fname         
            ,''
            ,@city
            ,@state
            ,@zip
            ,@county
            ,null
            ,null
            ,null
            ,null
            ,null
            ,@employer
            ,@occupation
            ,@jobcode
            ,@employ_status
            ,@DOB
            ,@gender
            ,@maritalstatus
            ,@income
            ,@education
            ,@race
            ,@Party
            ,@typehome
            ,@spousejobcode
            ,@spousehours
            ,@child1
            ,@childbd1
            ,@child2
            ,@childbd2
            ,@child3
            ,@childbd3
            ,@child4
            ,@childbd4
            ,@child5
            ,@childbd5
            ,@child6
            ,@childbd6
            ,@resp_type
            ,GETDATE()
            ,null
            ,0
            ,''
            ,null
            ,null
            ,null
            ,0
            ,null
            ,null
            ,0
            ,0
            ,0
            ,0
            ,0
            ,0
            ,0
            ,0
            ,0
            ,@C1_OnLine
            ,@C2_Pets
            ,@C3_Onlinepr
            ,@C4_Gamesyste
            ,@C5_Alcohol
            ,@C6_Technology
            ,@C7_PersonalI
            ,@C8_Health
            ,@C9_MDSpecial
            ,@C10_PDASmart
            ,@C11_TypeofCo
            ,@C12_CreditCar
            ,@C13_Cigarettes
            ,@C14_Position
            ,@C15_MDStatus
            ,@C16_MDPractic
            ,@C17_MDTypePr
            ,@C18_NumLocal
            ,@C19_NumEmploy
            ,@C20_BusinessT
            ,@C21_PleasureT
            ,@C22_LocalPhon
            ,@C23_LongDista
            ,@C24_HealthIns
            ,@C25_Industry
            ,@C26_Employers
            ,@C27_NumberEmp
            ,@C28_NumberCom
            ,@C29_CellPhone
            ,@C30_TypeofTV
            ,@C31_MusicPref
            ,@C32_Cigarette
            ,@C33_MD
            ,@C34_TypeofCo
            ,@C35_MDSubSpe
            ,@C36_USMedSch
            ,@C37_SexualOri
            ,@C38_PersonalI
            ,@C39_Source
            ,@C40_Recreation
            ,@C41_SocialProf
            ,@C42_NumIntl
            ,@C43_NumIntl
            ,@C44_NumDomest
            ,@C45_NumDomest
            ,@C46_Languages
            ,@C47_HomePhone
            ,@C48_OtherToba
            ,@C49_Lifestyle
            ,@C50_Attitudes
            ,@c_brand
            ,@c_flavor 
            ,@c_length 
            ,@c_type
            ,@c_past_purch 
            ,@c_oth_brnd 
            ,@car_make_1
            ,@car_model_1
            ,@car_year_1
            ,@car_options_1
            ,@car_make_2
            ,@car_model_2
            ,@car_year_2
            ,@car_options_2)

and am calling it from an ADO class in C# like ...

        using (var con = new SqlConnection())
        {                    
con.ConnectionString = @"Data Source=.\DEV2008;Initial Catalog=RMV1;Persist Security    Info=True;User ID=sa;Password=********";
                try
                {
                    con.Open();
                    var cmd = new SqlCommand("INS_Respond_Local", con) {CommandType = CommandType.StoredProcedure};

                    #region DeclareSQL

                    cmd.Parameters.Add("@phone", SqlDbType.NVarChar, 15);
                    cmd.Parameters.Add("@wphone", SqlDbType.NVarChar, 15);
                    cmd.Parameters.Add("@wphone_ext", SqlDbType.NVarChar, 5);
                    cmd.Parameters.Add("@fax", SqlDbType.NVarChar, 15);
                    cmd.Parameters.Add("@cell", SqlDbType.NVarChar, 15);
                    cmd.Parameters.Add("@email", SqlDbType.NVarChar, 30);
                    cmd.Parameters.Add("@areacode", SqlDbType.NVarChar, 3);
                    cmd.Parameters.Add("@areacode_w", SqlDbType.NVarChar, 3);
                    cmd.Parameters.Add("@lname", SqlDbType.NVarChar, 30);
                    cmd.Parameters.Add("@fname", SqlDbType.NVarChar, 30);
                    cmd.Parameters.Add("@city", SqlDbType.NVarChar, 20);
                    cmd.Parameters.Add("@state", SqlDbType.NVarChar, 2);
                    cmd.Parameters.Add("@zip", SqlDbType.NVarChar, 10);
                    cmd.Parameters.Add("@county", SqlDbType.NVarChar, 20);
                    cmd.Parameters.Add("@employer", SqlDbType.NVarChar, 50);
                    cmd.Parameters.Add("@occupation", SqlDbType.NVarChar, 20);
                    cmd.Parameters.Add("@jobcode", SqlDbType.NVarChar, 3);
                    cmd.Parameters.Add("@employ_status", SqlDbType.NVarChar, 2);
                    cmd.Parameters.Add("@DOB", SqlDbType.DateTime);
                    cmd.Parameters.Add("@gender", SqlDbType.NVarChar, 1);
                    cmd.Parameters.Add("@maritalstatus", SqlDbType.NVarChar, 1);
                    cmd.Parameters.Add("@income", SqlDbType.NVarChar, 1);
                    cmd.Parameters.Add("@education", SqlDbType.NVarChar, 2);
                    cmd.Parameters.Add("@race", SqlDbType.NVarChar, 2);
                    cmd.Parameters.Add("@Party", SqlDbType.NVarChar, 2);
                    cmd.Parameters.Add("@typehome", SqlDbType.NVarChar, 2);
                    cmd.Parameters.Add("@spousejobcode", SqlDbType.NVarChar, 3);
                    cmd.Parameters.Add("@spousehours", SqlDbType.NVarChar, 2);
                    cmd.Parameters.Add("@child1", SqlDbType.NVarChar, 1);
                    cmd.Parameters.Add("@childbd1", SqlDbType.DateTime);
                    cmd.Parameters.Add("@child2", SqlDbType.NVarChar, 1);
                    cmd.Parameters.Add("@childbd2", SqlDbType.DateTime);
                    cmd.Parameters.Add("@child3", SqlDbType.NVarChar, 1);
                    cmd.Parameters.Add("@childbd3", SqlDbType.DateTime);
                    cmd.Parameters.Add("@child4", SqlDbType.NVarChar, 1);
                    cmd.Parameters.Add("@childbd4", SqlDbType.DateTime);
                    cmd.Parameters.Add("@child5", SqlDbType.NVarChar, 1);
                    cmd.Parameters.Add("@childbd5", SqlDbType.DateTime);
                    cmd.Parameters.Add("@child6", SqlDbType.NVarChar, 1);
                    cmd.Parameters.Add("@childbd6", SqlDbType.DateTime);
                    cmd.Parameters.Add("@resp_type", SqlDbType.NVarChar, 5);
                    cmd.Parameters.Add("@C1_OnLine", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C2_Pets", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C3_Onlinepr", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C4_Gamesyste", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C5_Alcohol", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C6_Technology", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C7_PersonalI", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C8_Health", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C9_MDSpecial", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C10_PDASmart", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C11_TypeofCo", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C12_CreditCar", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C13_Cigarettes", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C14_Position", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C15_MDStatus", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C16_MDPractic", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C17_MDTypePr", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C18_NumLocal", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C19_NumEmploy", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C20_BusinessT", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C21_PleasureT", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C22_LocalPhon", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C23_LongDista", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C24_HealthIns", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C25_Industry", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C26_Employers", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C27_NumberEmp", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C28_NumberCom", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C29_CellPhone", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C30_TypeofTV", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C31_MusicPref", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C32_Cigarette", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C33_MD", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C34_TypeofCo", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C35_MDSubSpe", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C36_USMedSch", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C37_SexualOri", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C38_PersonalI", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C39_Source", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C40_Recreation", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C41_SocialProf", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C42_NumIntl", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C43_NumIntl", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C44_NumDomest", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C45_NumDomest", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C46_Languages", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C47_HomePhone", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C48_OtherToba", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C49_Lifestyle", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@C50_Attitudes", SqlDbType.NVarChar, 100);
                    cmd.Parameters.Add("@c_brand", SqlDbType.NVarChar, 50);
                    cmd.Parameters.Add("@c_flavor", SqlDbType.NVarChar, 50);
                    cmd.Parameters.Add("@c_length", SqlDbType.NVarChar, 50);
                    cmd.Parameters.Add("@c_type", SqlDbType.NVarChar, 50);
                    cmd.Parameters.Add("@c_past_purch", SqlDbType.NVarChar, 50);
                    cmd.Parameters.Add("@c_oth_brnd", SqlDbType.NVarChar, 50);
                    cmd.Parameters.Add("@car_make_1", SqlDbType.NVarChar, 5);
                    cmd.Parameters.Add("@car_model_1", SqlDbType.NVarChar, 5);
                    cmd.Parameters.Add("@car_year_1", SqlDbType.NVarChar, 4);
                    cmd.Parameters.Add("@car_options_1", SqlDbType.NVarChar, 255);
                    cmd.Parameters.Add("@car_make_2", SqlDbType.NVarChar, 5);
                    cmd.Parameters.Add("@car_model_2", SqlDbType.NVarChar, 5);
                    cmd.Parameters.Add("@car_year_2", SqlDbType.NVarChar, 4);
                    cmd.Parameters.Add("@car_options_2", SqlDbType.NVarChar, 255);

                    #endregion
                    #region AssignValues
                    cmd.Parameters["@phone"].Value = a.phone;
                    cmd.Parameters["@wphone"].Value = a.wphone;
                    cmd.Parameters["@wphone_ext"].Value = a.wphone_ext;
                    cmd.Parameters["@fax"].Value = a.fax;
                    cmd.Parameters["@cell"].Value = a.cellphone;
                    cmd.Parameters["@email"].Value = a.email;
                    cmd.Parameters["@areacode"].Value = a.area_code;
                    cmd.Parameters["@areacode_w"].Value = a.area_code_w;
                    cmd.Parameters["@lname"].Value = a.lname;
                    cmd.Parameters["@fname"].Value = a.fname;
                    cmd.Parameters["@city"].Value = a.city;
                    cmd.Parameters["@state"].Value = a.state;
                    cmd.Parameters["@zip"].Value = a.zip;
                    cmd.Parameters["@county"].Value = a.county;
                    cmd.Parameters["@employer"].Value = a.employer;
                    cmd.Parameters["@occupation"].Value = a.Occ_title;
                    cmd.Parameters["@jobcode"].Value = a.jobcode;
                    cmd.Parameters["@employ_status"].Value = a.hours;
                    cmd.Parameters["@DOB"].Value = a.datebirth;
                    cmd.Parameters["@gender"].Value = a.gender;
                    cmd.Parameters["@maritalstatus"].Value = a.maritalstatus;
                    cmd.Parameters["@income"].Value = a.income;
                    cmd.Parameters["@education"].Value = a.education;
                    cmd.Parameters["@race"].Value = a.race;
                    cmd.Parameters["@Party"].Value = a.Party;
                    cmd.Parameters["@typehome"].Value = a.typehome;
                    cmd.Parameters["@spousejobcode"].Value = a.spousejobcode;
                    cmd.Parameters["@spousehours"].Value = a.spousehours;
                    cmd.Parameters["@child1"].Value = a.childgen1;
                    cmd.Parameters["@childbd1"].Value = a.childbd1;
                    cmd.Parameters["@child2"].Value = a.childgen2;
                    cmd.Parameters["@childbd2"].Value = a.childbd2;
                    cmd.Parameters["@child3"].Value = a.childgen3;
                    cmd.Parameters["@childbd3"].Value = a.childbd3;
                    cmd.Parameters["@child4"].Value = a.childgen4;
                    cmd.Parameters["@childbd4"].Value = a.childbd4;
                    cmd.Parameters["@child5"].Value = a.childgen5;
                    cmd.Parameters["@childbd5"].Value = a.childbd5;
                    cmd.Parameters["@child6"].Value = a.childgen6;
                    cmd.Parameters["@childbd6"].Value = a.childbd6;
                    cmd.Parameters["@resp_type"].Value = a.resp_type;
                    cmd.Parameters["@C1_OnLine"].Value = a.CC1;
                    cmd.Parameters["@C2_Pets"].Value = a.CC2;
                    cmd.Parameters["@C3_Onlinepr"].Value = a.CC3;
                    cmd.Parameters["@C4_Gamesyste"].Value = a.CC4;
                    cmd.Parameters["@C5_Alcohol"].Value = a.CC5;
                    cmd.Parameters["@C6_Technology"].Value = a.CC6;
                    cmd.Parameters["@C7_PersonalI"].Value = a.CC7;
                    cmd.Parameters["@C8_Health"].Value = a.CC8;
                    cmd.Parameters["@C9_MDSpecial"].Value = a.CC9;
                    cmd.Parameters["@C10_PDASmart"].Value = a.CC10;
                    cmd.Parameters["@C11_TypeofCo"].Value = a.CC11;
                    cmd.Parameters["@C12_CreditCar"].Value = a.CC12;
                    cmd.Parameters["@C13_Cigarettes"].Value = a.CC13;
                    cmd.Parameters["@C14_Position"].Value = a.CC14;
                    cmd.Parameters["@C15_MDStatus"].Value = a.CC15;
                    cmd.Parameters["@C16_MDPractic"].Value = a.CC16;
                    cmd.Parameters["@C17_MDTypePr"].Value = a.CC17;
                    cmd.Parameters["@C18_NumLocal"].Value = a.CC18;
                    cmd.Parameters["@C19_NumEmploy"].Value = a.CC19;
                    cmd.Parameters["@C20_BusinessT"].Value = a.CC20;
                    cmd.Parameters["@C21_PleasureT"].Value = a.CC21;
                    cmd.Parameters["@C22_LocalPhon"].Value = a.CC22;
                    cmd.Parameters["@C23_LongDista"].Value = a.CC23;
                    cmd.Parameters["@C24_HealthIns"].Value = a.CC24;
                    cmd.Parameters["@C25_Industry"].Value = a.CC25;
                    cmd.Parameters["@C26_Employers"].Value = a.CC26;
                    cmd.Parameters["@C27_NumberEmp"].Value = a.CC27;
                    cmd.Parameters["@C28_NumberCom"].Value = a.CC28;
                    cmd.Parameters["@C29_CellPhone"].Value = a.CC29;
                    cmd.Parameters["@C30_TypeofTV"].Value = a.CC30;
                    cmd.Parameters["@C31_MusicPref"].Value = a.CC31;
                    cmd.Parameters["@C32_Cigarette"].Value = a.CC32;
                    cmd.Parameters["@C33_MD"].Value = a.CC33;
                    cmd.Parameters["@C34_TypeofCo"].Value = a.CC34;
                    cmd.Parameters["@C35_MDSubSpe"].Value = a.CC35;
                    cmd.Parameters["@C36_USMedSch"].Value = a.CC36;
                    cmd.Parameters["@C37_SexualOri"].Value = a.CC37;
                    cmd.Parameters["@C38_PersonalI"].Value = a.CC38;
                    cmd.Parameters["@C39_Source"].Value = a.CC39;
                    cmd.Parameters["@C40_Recreation"].Value = a.CC40;
                    cmd.Parameters["@C41_SocialProf"].Value = a.CC41;
                    cmd.Parameters["@C42_NumIntl"].Value = a.CC42;
                    cmd.Parameters["@C43_NumIntl"].Value = a.CC43;
                    cmd.Parameters["@C44_NumDomest"].Value = a.CC44;
                    cmd.Parameters["@C45_NumDomest"].Value = a.CC45;
                    cmd.Parameters["@C46_Languages"].Value = a.CC46;
                    cmd.Parameters["@C47_HomePhone"].Value = a.CC47;
                    cmd.Parameters["@C48_OtherToba"].Value = a.CC48;
                    cmd.Parameters["@C49_Lifestyle"].Value = a.CC49;
                    cmd.Parameters["@C50_Attitudes"].Value = a.CC50;
                    cmd.Parameters["@c_brand"].Value = "";
                    cmd.Parameters["@c_flavor"].Value = "";
                    cmd.Parameters["@c_length"].Value = "";
                    cmd.Parameters["@c_type"].Value = "";
                    cmd.Parameters["@c_past_purch"].Value = "";
                    cmd.Parameters["@c_oth_brnd"].Value = "";
                    cmd.Parameters["@car_make_1"].Value = a.car_make_1;
                    cmd.Parameters["@car_model_1"].Value = a.car_model_1;
                    cmd.Parameters["@car_year_1"].Value = a.car_year_1;
                    cmd.Parameters["@car_options_1"].Value = "";
                    cmd.Parameters["@car_make_2"].Value = a.car_make_2;
                    cmd.Parameters["@car_model_2"].Value = a.car_model_2;
                    cmd.Parameters["@car_year_2"].Value = a.car_year_2;
                    cmd.Parameters["@car_options_2"].Value = "";
                    #endregion
                    cmd.ExecuteNonQuery();

                }
                finally 
                {
                    con.Close();
                }
}

I have gone through this with a fine toothed comb and when ever I call it I get an error that a parameter is missing

Procedure or function 'INS_Respond_Local' expects parameter '@fax', which was not supplied.

@fax is there if I get rid of it it's @count ... I read here that there is a bug with ADO stored proc parameters however this is in the CLR or ActiveX ? Anyway is this genuinely a bug or am I just being stupid ... ? If it is a bug how do I work around it.


For everything that can be nullable, do this:

cmd.Parameters["@theParam"].Value = (object)a.TheParam ??  DBNull.Value;

You could put this logic in an extension method if you fancy.


Chances are your value for a.fax is null rather than an empty string.

You should supply DBNull.Value instead of null.


I've got this bug in Classic ASP (VBScript), which when I assign values to parameters, this error comes up when we try to assign a value from Request.Form which was not submited at all, but in ASP Classic, when it's not submitted it's supposed to be strings, but ADODB does something else (and it's not null, maybe in c# it is).

So our workaround was to create a function that goes like this :

Function ReplaceEmptyWith(value, replace)

If value = "" Then
  ReplaceEmptyWith = replace
Else
  ReplaceEmptyWith = value
End If

End Function

So at parameter assignment we call ReplaceEmptyWith(a.fax, "") or the equivalent in C#

0

精彩评论

暂无评论...
验证码 换一张
取 消