2011-08-20 5 views
2

J'ai un stocké Proc:ADO stocké Erreur de paramètre manquant 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), 
@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) 

et suis l'appeler d'une classe ADO en C# ... comme

 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(); 
       } 
} 

Je suis passé par ceci avec un peigne à dents fines et quand je l'appelle, j'obtiens une erreur de paramètre

Procédure ou fonction 'INS_Respond_Local' attend le paramètre '@fax', qui n'était pas fourni. @fax est là si je m'en débarrasse c'est @count ... J'ai lu here qu'il y a un bogue avec ADO stocké paramètres de proc mais c'est dans le CLR ou ActiveX? Quoi qu'il en soit, est-ce vraiment un bug ou est-ce que je suis juste stupide ...? Si c'est un bug, comment puis-je contourner ce problème.

Répondre

2

Pour tout ce qui peut être annulable, faites ceci:

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

Vous pouvez mettre cette logique dans une méthode d'extension si vous avez envie.

+0

C'est ce que J'ai fini par utiliser ?? (objet) DBNull.Value; ... J'aurais du en avoir ... J'ai tellement l'habitude d'utiliser LINQ et j'ai été obligé d'utiliser ado dans ce cas que j'ai oublié tout ça ... Merci. –

+0

@bumble_bee_tuna, bien sûr, il est beaucoup plus agréable d'accéder aux données avec LINQ. – RichardOD

1

Les chances sont votre valeur pour un.fax est null plutôt qu'une chaîne vide.

Vous devez fournir DBNull.Value au lieu de null.

0

J'ai ce bogue dans ASP (VBScript) classique, qui quand j'attribue des valeurs aux paramètres, cette erreur apparaît quand nous essayons d'assigner une valeur de Request.Form qui n'a pas été soumise du tout, mais dans ASP Classique, quand il n'est pas soumis c'est supposé être des chaînes, mais ADODB fait autre chose (et ce n'est pas nul, peut-être dans C# c'est).

Donc, notre solution a été de créer une fonction qui va comme ceci:

Function ReplaceEmptyWith(value, replace) 

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

End Function 

Ainsi, à l'affectation des paramètres que nous appelons ReplaceEmptyWith (a.fax, « ») ou l'équivalent en C#

Questions connexes